hyperx.api
1from __future__ import annotations 2from ..library import _api, _types 3 4from ..api import types 5from typing import TypeVar, Generic, overload 6from enum import Enum 7from System.Collections.Generic import List, IEnumerable, Dictionary, HashSet 8from System.Threading.Tasks import Task 9from System import Guid, DateTime, Action 10 11from abc import ABC, abstractmethod 12 13T = TypeVar('T') 14 15def MakeCSharpIntList(ints: list[int]) -> List[int]: 16 intsList = List[int]() 17 if ints is not None: 18 for thing in ints: 19 if thing is not None: 20 intsList.Add(thing) 21 22 return intsList 23 24class AnalysisResultToReturn(Enum): 25 ''' 26 Used to specify which analysis result to return. 27 ''' 28 Limit = 1 29 Ultimate = 2 30 Minimum = 3 31 32class CollectionModificationStatus(Enum): 33 ''' 34 Indicates whether a collection was manipulated successfully. 35 ''' 36 Success = 1 37 DuplicateIdFailure = 2 38 EntityMissingAddFailure = 3 39 EntityMissingRemovalFailure = 4 40 FemConnectionFailure = 5 41 RunSetUsageFailure = 6 42 EntityRemovalDependencyFailure = 7 43 44class CreateDatabaseStatus(Enum): 45 Success = 1 46 TemplateNotFound = 2 47 ImproperExtension = 3 48 49class MaterialCreationStatus(Enum): 50 ''' 51 Indicates whether a material was created successfully. 52 If not, this indicates why the material was not created. 53 ''' 54 Success = 1 55 DuplicateNameFailure = 2 56 DuplicateFemIdFailure = 3 57 MissingMaterialToCopy = 4 58 59class DbForceUnit(Enum): 60 Pounds = 1 61 Newtons = 2 62 Dekanewtons = 4 63 64class DbLengthUnit(Enum): 65 Inches = 1 66 Feet = 2 67 Meters = 3 68 Centimeters = 4 69 Millimeters = 5 70 71class DbMassUnit(Enum): 72 Pounds = 1 73 Kilograms = 2 74 Slinches = 4 75 Slugs = 5 76 Megagrams = 6 77 78class DbTemperatureUnit(Enum): 79 Fahrenheit = 1 80 Rankine = 2 81 Celsius = 3 82 Kelvin = 4 83 84class ProjectCreationStatus(Enum): 85 ''' 86 Indicates whether a project was created successfully. 87 If not, this indicates why the project was not created. 88 ''' 89 Success = 1 90 Failure = 2 91 DuplicateNameFailure = 3 92 93class ProjectDeletionStatus(Enum): 94 ''' 95 Indicates whether a project was deleted successfully. 96 If not, this indicates why the project was not deleted. 97 ''' 98 Success = 1 99 Failure = 2 100 ProjectDoesNotExistFailure = 3 101 ActiveProjectFailure = 4 102 103class SetUnitsStatus(Enum): 104 Success = 1 105 Error = 2 106 MixedUnitSystemError = 3 107 108class PropertyAssignmentStatus(Enum): 109 Success = 1 110 Failure = 2 111 FailureCollectionAssignment = 3 112 PropertyIsNull = 4 113 PropertyNotFoundInDb = 5 114 EmptyCollection = 6 115 IncompatiblePropertyAssignment = 7 116 EntityDoesNotExist = 8 117 118class RundeckBulkUpdateStatus(Enum): 119 NoRundecksUpdated = 0 120 Success = 1 121 InputFilePathDoesNotExist = 2 122 ResultFilePathDoesNotExist = 3 123 InputFilePathAlreadyExists = 4 124 ResultFilePathAlreadyExists = 5 125 InvalidPathCount = 6 126 RundeckBulkUpdateFailure = 7 127 SuccessButIncompatibleFem = 8 128 129class RundeckCreationStatus(Enum): 130 Success = 1 131 InputFilePathAlreadyExists = 2 132 ResultFilePathAlreadyExists = 3 133 134class RundeckRemoveStatus(Enum): 135 Success = 1 136 InvalidId = 2 137 CannotRemoveLastRundeck = 3 138 CannotDeletePrimaryRundeck = 4 139 RundeckNotFound = 5 140 RundeckRemoveFailure = 6 141 SuccessButIncompatibleFem = 7 142 143class RundeckUpdateStatus(Enum): 144 Success = 1 145 InvalidId = 2 146 IdDoesNotExist = 3 147 RundeckAlreadyPrimary = 4 148 InputPathInUse = 5 149 ResultPathInUse = 6 150 RundeckCommitFailure = 7 151 InputPathDoesNotExist = 8 152 ResultPathDoesNotExist = 9 153 SuccessButIncompatibleFem = 10 154 155class ZoneCreationStatus(Enum): 156 ''' 157 Indicates whether a zone was created successfully. 158 If not, this indicates why the zone was not created. 159 ''' 160 Success = 1 161 DuplicateNameFailure = 2 162 InvalidFamilyCategory = 3 163 164class ZoneIdUpdateStatus(Enum): 165 Success = 1 166 DuplicateIdFailure = 2 167 IdOutOfRangeError = 3 168 169class UnitSystem(Enum): 170 ''' 171 Unit system specified when starting a scripting Application. 172 ''' 173 English = 1 174 SI = 2 175 176class IdEntity(ABC): 177 ''' 178 Represents an entity with an ID. 179 ''' 180 def __init__(self, idEntity: _api.IdEntity): 181 self._Entity = idEntity 182 183 @property 184 def Id(self) -> int: 185 return self._Entity.Id 186 187 188class IdNameEntity(IdEntity): 189 ''' 190 Represents an entity with an ID and Name. 191 ''' 192 def __init__(self, idNameEntity: _api.IdNameEntity): 193 self._Entity = idNameEntity 194 195 @property 196 def Name(self) -> str: 197 return self._Entity.Name 198 199class AnalysisDefinition(IdNameEntity): 200 def __init__(self, analysisDefinition: _api.AnalysisDefinition): 201 self._Entity = analysisDefinition 202 203 @property 204 def AnalysisId(self) -> int: 205 return self._Entity.AnalysisId 206 207 @property 208 def Description(self) -> str: 209 return self._Entity.Description 210 211 212class Margin: 213 ''' 214 Represents a Margin result. 215 ''' 216 def __init__(self, margin: _api.Margin): 217 self._Entity = margin 218 219 @property 220 def AdjustedMargin(self) -> float: 221 return self._Entity.AdjustedMargin 222 223 @property 224 def IsFailureCode(self) -> bool: 225 return self._Entity.IsFailureCode 226 227 @property 228 def IsInformationalCode(self) -> bool: 229 return self._Entity.IsInformationalCode 230 231 @property 232 def MarginCode(self) -> types.MarginCode: 233 return types.MarginCode[self._Entity.MarginCode.ToString()] 234 235 236class AnalysisResult(ABC): 237 ''' 238 Contains result information for an analysis 239 ''' 240 def __init__(self, analysisResult: _api.AnalysisResult): 241 self._Entity = analysisResult 242 243 @property 244 def LimitUltimate(self) -> types.LimitUltimate: 245 ''' 246 Limit vs Ultimate loads. 247 ''' 248 return types.LimitUltimate[self._Entity.LimitUltimate.ToString()] 249 250 @property 251 def LoadCaseId(self) -> int: 252 return self._Entity.LoadCaseId 253 254 @property 255 def Margin(self) -> Margin: 256 ''' 257 Represents a Margin result. 258 ''' 259 result = self._Entity.Margin 260 return Margin(result) if result is not None else None 261 262 @property 263 def AnalysisDefinition(self) -> AnalysisDefinition: 264 result = self._Entity.AnalysisDefinition 265 return AnalysisDefinition(result) if result is not None else None 266 267 268class JointAnalysisResult(AnalysisResult): 269 def __init__(self, jointAnalysisResult: _api.JointAnalysisResult): 270 self._Entity = jointAnalysisResult 271 272 @property 273 def ObjectId(self) -> types.JointObject: 274 ''' 275 Enum identifying the possible entities within a joint 276 ''' 277 return types.JointObject[self._Entity.ObjectId.ToString()] 278 279 280class ZoneAnalysisConceptResult(AnalysisResult): 281 def __init__(self, zoneAnalysisConceptResult: _api.ZoneAnalysisConceptResult): 282 self._Entity = zoneAnalysisConceptResult 283 284 @property 285 def ConceptId(self) -> types.FamilyConceptUID: 286 return types.FamilyConceptUID[self._Entity.ConceptId.ToString()] 287 288 289class ZoneAnalysisObjectResult(AnalysisResult): 290 def __init__(self, zoneAnalysisObjectResult: _api.ZoneAnalysisObjectResult): 291 self._Entity = zoneAnalysisObjectResult 292 293 @property 294 def ObjectId(self) -> types.FamilyObjectUID: 295 return types.FamilyObjectUID[self._Entity.ObjectId.ToString()] 296 297 298class AssignableProperty(IdNameEntity): 299 def __init__(self, assignableProperty: _api.AssignableProperty): 300 self._Entity = assignableProperty 301 302 303class AssignablePropertyWithFamilyCategory(AssignableProperty): 304 def __init__(self, assignablePropertyWithFamilyCategory: _api.AssignablePropertyWithFamilyCategory): 305 self._Entity = assignablePropertyWithFamilyCategory 306 307 @property 308 def FamilyCategory(self) -> types.FamilyCategory: 309 return types.FamilyCategory[self._Entity.FamilyCategory.ToString()] 310 311 312class FailureObjectGroup(IdNameEntity): 313 def __init__(self, failureObjectGroup: _api.FailureObjectGroup): 314 self._Entity = failureObjectGroup 315 316 @property 317 def ObjectGroup(self) -> types.ObjectGroup: 318 return types.ObjectGroup[self._Entity.ObjectGroup.ToString()] 319 320 @property 321 def IsEnabled(self) -> bool: 322 return self._Entity.IsEnabled 323 324 @property 325 def LimitUltimate(self) -> types.LimitUltimate: 326 ''' 327 Limit vs Ultimate loads. 328 ''' 329 return types.LimitUltimate[self._Entity.LimitUltimate.ToString()] 330 331 @property 332 def RequiredMargin(self) -> float: 333 return self._Entity.RequiredMargin 334 335 @IsEnabled.setter 336 def IsEnabled(self, value: bool) -> None: 337 self._Entity.IsEnabled = value 338 339 @LimitUltimate.setter 340 def LimitUltimate(self, value: types.LimitUltimate) -> None: 341 self._Entity.LimitUltimate = _types.LimitUltimate(value.value) 342 343 @RequiredMargin.setter 344 def RequiredMargin(self, value: float) -> None: 345 self._Entity.RequiredMargin = value 346 347 348class FailureSetting(IdNameEntity): 349 ''' 350 Setting for a Failure Mode or a Failure Criteria. 351 ''' 352 def __init__(self, failureSetting: _api.FailureSetting): 353 self._Entity = failureSetting 354 355 @property 356 def CategoryId(self) -> int: 357 return self._Entity.CategoryId 358 359 @property 360 def DataType(self) -> types.UserConstantDataType: 361 return types.UserConstantDataType[self._Entity.DataType.ToString()] 362 363 @property 364 def DefaultValue(self) -> str: 365 return self._Entity.DefaultValue 366 367 @property 368 def Description(self) -> str: 369 return self._Entity.Description 370 371 @property 372 def EnumValues(self) -> dict[int, str]: 373 enumValuesDict = {} 374 for kvp in self._Entity.EnumValues: 375 enumValuesDict[int(kvp.Key)] = str(kvp.Value) 376 377 return enumValuesDict 378 379 @property 380 def PackageId(self) -> int: 381 return self._Entity.PackageId 382 383 @property 384 def PackageSettingId(self) -> int: 385 return self._Entity.PackageSettingId 386 387 @property 388 def UID(self) -> Guid: 389 return self._Entity.UID 390 391 @property 392 def Value(self) -> str: 393 return self._Entity.Value 394 395 def SetStringValue(self, value: str) -> None: 396 return self._Entity.SetStringValue(value) 397 398 def SetIntValue(self, value: int) -> None: 399 return self._Entity.SetIntValue(value) 400 401 def SetFloatValue(self, value: float) -> None: 402 return self._Entity.SetFloatValue(value) 403 404 def SetBoolValue(self, value: bool) -> None: 405 return self._Entity.SetBoolValue(value) 406 407 def SetSelectionValue(self, index: int) -> None: 408 ''' 409 Set enum value by index. 410 ''' 411 return self._Entity.SetSelectionValue(index) 412 413 414class IdEntityCol(Generic[T], ABC): 415 def __init__(self, idEntityCol: _api.IdEntityCol): 416 self._Entity = idEntityCol 417 418 @property 419 def IdEntityColList(self) -> tuple[IdEntity]: 420 if self._Entity.Count() <= 0: 421 return () 422 thisClass = type(self._Entity._items[0]).__name__ 423 givenClass = IdEntity 424 for subclass in IdEntity.__subclasses__(): 425 if subclass.__name__ == thisClass: 426 givenClass = subclass 427 return tuple([givenClass(idEntityCol) for idEntityCol in self._Entity]) 428 429 @property 430 def Ids(self) -> tuple[int]: 431 return tuple([int(int32) for int32 in self._Entity.Ids]) 432 433 def Contains(self, id: int) -> bool: 434 return self._Entity.Contains(id) 435 436 def Count(self) -> int: 437 return self._Entity.Count() 438 439 def Get(self, id: int) -> T: 440 return self._Entity.Get(id) 441 442 def __getitem__(self, index: int): 443 return self.IdEntityColList[index] 444 445 def __iter__(self): 446 yield from self.IdEntityColList 447 448 def __len__(self): 449 return len(self.IdEntityColList) 450 451 452class IdNameEntityCol(IdEntityCol, Generic[T]): 453 def __init__(self, idNameEntityCol: _api.IdNameEntityCol): 454 self._Entity = idNameEntityCol 455 self._CollectedClass = T 456 457 @property 458 def IdNameEntityColList(self) -> tuple[T]: 459 if self._Entity.Count() <= 0: 460 return () 461 thisClass = type(self._Entity._items[0]).__name__ 462 givenClass = T 463 for subclass in T.__subclasses__(): 464 if subclass.__name__ == thisClass: 465 givenClass = subclass 466 return tuple([givenClass(idNameEntityCol) for idNameEntityCol in self._Entity]) 467 468 @property 469 def Names(self) -> tuple[str]: 470 return tuple([str(string) for string in self._Entity.Names]) 471 472 @overload 473 def Get(self, name: str) -> T: ... 474 475 @overload 476 def Get(self, id: int) -> T: ... 477 478 def Get(self, item1 = None) -> T: 479 if isinstance(item1, str): 480 return self._Entity.Get(item1) 481 482 if isinstance(item1, int): 483 return super().Get(item1) 484 485 return self._Entity.Get(item1) 486 487 def __getitem__(self, index: int): 488 return self.IdNameEntityColList[index] 489 490 def __iter__(self): 491 yield from self.IdNameEntityColList 492 493 def __len__(self): 494 return len(self.IdNameEntityColList) 495 496 497class FailureObjectGroupCol(IdNameEntityCol[FailureObjectGroup]): 498 def __init__(self, failureObjectGroupCol: _api.FailureObjectGroupCol): 499 self._Entity = failureObjectGroupCol 500 self._CollectedClass = FailureObjectGroup 501 502 @property 503 def FailureObjectGroupColList(self) -> tuple[FailureObjectGroup]: 504 return tuple([FailureObjectGroup(failureObjectGroupCol) for failureObjectGroupCol in self._Entity]) 505 506 @overload 507 def Get(self, objectGroup: types.ObjectGroup) -> FailureObjectGroup: ... 508 509 @overload 510 def Get(self, name: str) -> FailureObjectGroup: ... 511 512 @overload 513 def Get(self, id: int) -> FailureObjectGroup: ... 514 515 def Get(self, item1 = None) -> FailureObjectGroup: 516 if isinstance(item1, types.ObjectGroup): 517 return FailureObjectGroup(self._Entity.Get(_types.ObjectGroup(item1.value))) 518 519 if isinstance(item1, str): 520 return FailureObjectGroup(super().Get(item1)) 521 522 if isinstance(item1, int): 523 return FailureObjectGroup(super().Get(item1)) 524 525 return FailureObjectGroup(self._Entity.Get(_types.ObjectGroup(item1.value))) 526 527 def __getitem__(self, index: int): 528 return self.FailureObjectGroupColList[index] 529 530 def __iter__(self): 531 yield from self.FailureObjectGroupColList 532 533 def __len__(self): 534 return len(self.FailureObjectGroupColList) 535 536 537class FailureSettingCol(IdNameEntityCol[FailureSetting]): 538 def __init__(self, failureSettingCol: _api.FailureSettingCol): 539 self._Entity = failureSettingCol 540 self._CollectedClass = FailureSetting 541 542 @property 543 def FailureSettingColList(self) -> tuple[FailureSetting]: 544 return tuple([FailureSetting(failureSettingCol) for failureSettingCol in self._Entity]) 545 546 @overload 547 def Get(self, name: str) -> FailureSetting: ... 548 549 @overload 550 def Get(self, id: int) -> FailureSetting: ... 551 552 def Get(self, item1 = None) -> FailureSetting: 553 if isinstance(item1, str): 554 return FailureSetting(super().Get(item1)) 555 556 if isinstance(item1, int): 557 return FailureSetting(super().Get(item1)) 558 559 result = self._Entity.Get(item1) 560 thisClass = type(result).__name__ 561 givenClass = FailureSetting 562 for subclass in FailureSetting.__subclasses__(): 563 if subclass.__name__ == thisClass: 564 givenClass = subclass 565 return givenClass(result) 566 567 def __getitem__(self, index: int): 568 return self.FailureSettingColList[index] 569 570 def __iter__(self): 571 yield from self.FailureSettingColList 572 573 def __len__(self): 574 return len(self.FailureSettingColList) 575 576 577class FailureCriterion(IdNameEntity): 578 def __init__(self, failureCriterion: _api.FailureCriterion): 579 self._Entity = failureCriterion 580 581 @property 582 def Description(self) -> str: 583 return self._Entity.Description 584 585 @property 586 def IsEnabled(self) -> bool: 587 return self._Entity.IsEnabled 588 589 @property 590 def LimitUltimate(self) -> types.LimitUltimate: 591 return types.LimitUltimate[self._Entity.LimitUltimate.ToString()] 592 593 @property 594 def ObjectGroups(self) -> FailureObjectGroupCol: 595 result = self._Entity.ObjectGroups 596 return FailureObjectGroupCol(result) if result is not None else None 597 598 @property 599 def RequiredMargin(self) -> float: 600 return self._Entity.RequiredMargin 601 602 @property 603 def Settings(self) -> FailureSettingCol: 604 result = self._Entity.Settings 605 return FailureSettingCol(result) if result is not None else None 606 607 @IsEnabled.setter 608 def IsEnabled(self, value: bool) -> None: 609 self._Entity.IsEnabled = value 610 611 @LimitUltimate.setter 612 def LimitUltimate(self, value: types.LimitUltimate) -> None: 613 self._Entity.LimitUltimate = _types.LimitUltimate(value.value) 614 615 @RequiredMargin.setter 616 def RequiredMargin(self, value: float) -> None: 617 self._Entity.RequiredMargin = value 618 619 620class IdNameEntityRenameable(IdNameEntity): 621 def __init__(self, idNameEntityRenameable: _api.IdNameEntityRenameable): 622 self._Entity = idNameEntityRenameable 623 624 def Rename(self, name: str) -> None: 625 return self._Entity.Rename(name) 626 627 628class FailureCriterionCol(IdNameEntityCol[FailureCriterion]): 629 def __init__(self, failureCriterionCol: _api.FailureCriterionCol): 630 self._Entity = failureCriterionCol 631 self._CollectedClass = FailureCriterion 632 633 @property 634 def FailureCriterionColList(self) -> tuple[FailureCriterion]: 635 return tuple([FailureCriterion(failureCriterionCol) for failureCriterionCol in self._Entity]) 636 637 @overload 638 def Get(self, name: str) -> FailureCriterion: ... 639 640 @overload 641 def Get(self, id: int) -> FailureCriterion: ... 642 643 def Get(self, item1 = None) -> FailureCriterion: 644 if isinstance(item1, str): 645 return FailureCriterion(super().Get(item1)) 646 647 if isinstance(item1, int): 648 return FailureCriterion(super().Get(item1)) 649 650 return FailureCriterion(self._Entity.Get(item1)) 651 652 def __getitem__(self, index: int): 653 return self.FailureCriterionColList[index] 654 655 def __iter__(self): 656 yield from self.FailureCriterionColList 657 658 def __len__(self): 659 return len(self.FailureCriterionColList) 660 661 662class FailureMode(IdNameEntityRenameable): 663 def __init__(self, failureMode: _api.FailureMode): 664 self._Entity = failureMode 665 666 @property 667 def AnalysisCategoryId(self) -> int: 668 return self._Entity.AnalysisCategoryId 669 670 @property 671 def AnalysisCategoryName(self) -> str: 672 return self._Entity.AnalysisCategoryName 673 674 @property 675 def Criteria(self) -> FailureCriterionCol: 676 result = self._Entity.Criteria 677 return FailureCriterionCol(result) if result is not None else None 678 679 @property 680 def Settings(self) -> FailureSettingCol: 681 result = self._Entity.Settings 682 return FailureSettingCol(result) if result is not None else None 683 684 685class FailureModeCol(IdNameEntityCol[FailureMode]): 686 def __init__(self, failureModeCol: _api.FailureModeCol): 687 self._Entity = failureModeCol 688 self._CollectedClass = FailureMode 689 690 @property 691 def FailureModeColList(self) -> tuple[FailureMode]: 692 return tuple([FailureMode(failureModeCol) for failureModeCol in self._Entity]) 693 694 @overload 695 def CreateFailureMode(self, failureModeCategoryId: int, name: str = None) -> FailureMode: ... 696 697 @overload 698 def CreateFailureMode(self, failureModeCategory: str, name: str = None) -> FailureMode: ... 699 700 @overload 701 def Get(self, name: str) -> FailureMode: ... 702 703 @overload 704 def Get(self, id: int) -> FailureMode: ... 705 706 def CreateFailureMode(self, item1 = None, item2 = None) -> FailureMode: 707 if isinstance(item1, int) and isinstance(item2, str): 708 return FailureMode(self._Entity.CreateFailureMode(item1, item2)) 709 710 if isinstance(item1, str) and isinstance(item2, str): 711 return FailureMode(self._Entity.CreateFailureMode(item1, item2)) 712 713 return FailureMode(self._Entity.CreateFailureMode(item1, item2)) 714 715 def Get(self, item1 = None) -> FailureMode: 716 if isinstance(item1, str): 717 return FailureMode(super().Get(item1)) 718 719 if isinstance(item1, int): 720 return FailureMode(super().Get(item1)) 721 722 return FailureMode(self._Entity.Get(item1)) 723 724 def __getitem__(self, index: int): 725 return self.FailureModeColList[index] 726 727 def __iter__(self): 728 yield from self.FailureModeColList 729 730 def __len__(self): 731 return len(self.FailureModeColList) 732 733 734class AnalysisProperty(AssignablePropertyWithFamilyCategory): 735 def __init__(self, analysisProperty: _api.AnalysisProperty): 736 self._Entity = analysisProperty 737 738 @property 739 def FailureModes(self) -> FailureModeCol: 740 result = self._Entity.FailureModes 741 return FailureModeCol(result) if result is not None else None 742 743 @overload 744 def AddFailureMode(self, id: int) -> None: ... 745 746 @overload 747 def AddFailureMode(self, ids: tuple[int]) -> None: ... 748 749 @overload 750 def RemoveFailureMode(self, id: int) -> None: ... 751 752 @overload 753 def RemoveFailureMode(self, ids: tuple[int]) -> None: ... 754 755 def AddFailureMode(self, item1 = None) -> None: 756 if isinstance(item1, int): 757 return self._Entity.AddFailureMode(item1) 758 759 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int): 760 idsList = MakeCSharpIntList(item1) 761 idsEnumerable = IEnumerable(idsList) 762 return self._Entity.AddFailureMode(idsEnumerable) 763 764 return self._Entity.AddFailureMode(item1) 765 766 def RemoveFailureMode(self, item1 = None) -> None: 767 if isinstance(item1, int): 768 return self._Entity.RemoveFailureMode(item1) 769 770 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int): 771 idsList = MakeCSharpIntList(item1) 772 idsEnumerable = IEnumerable(idsList) 773 return self._Entity.RemoveFailureMode(idsEnumerable) 774 775 return self._Entity.RemoveFailureMode(item1) 776 777 778class DesignProperty(AssignablePropertyWithFamilyCategory): 779 def __init__(self, designProperty: _api.DesignProperty): 780 self._Entity = designProperty 781 782 def Copy(self, newName: str = None) -> DesignProperty: 783 ''' 784 Creates a copy of this DesignProperty. 785 ''' 786 result = self._Entity.Copy(newName) 787 thisClass = type(result).__name__ 788 givenClass = DesignProperty 789 for subclass in DesignProperty.__subclasses__(): 790 if subclass.__name__ == thisClass: 791 givenClass = subclass 792 return givenClass(result) 793 794 795class LoadProperty(AssignableProperty): 796 def __init__(self, loadProperty: _api.LoadProperty): 797 self._Entity = loadProperty 798 799 @property 800 def Category(self) -> types.FamilyCategory: 801 return types.FamilyCategory[self._Entity.Category.ToString()] 802 803 @property 804 def Type(self) -> types.LoadPropertyType: 805 return types.LoadPropertyType[self._Entity.Type.ToString()] 806 807 @property 808 def IsZeroCurvature(self) -> bool: 809 return self._Entity.IsZeroCurvature 810 811 @property 812 def ModificationDate(self) -> DateTime: 813 return self._Entity.ModificationDate 814 815 816class DesignLoadSubcase(IdNameEntity): 817 def __init__(self, designLoadSubcase: _api.DesignLoadSubcase): 818 self._Entity = designLoadSubcase 819 820 @property 821 def RunDeckId(self) -> int: 822 return self._Entity.RunDeckId 823 824 @property 825 def IsThermal(self) -> bool: 826 return self._Entity.IsThermal 827 828 @property 829 def IsEditable(self) -> bool: 830 return self._Entity.IsEditable 831 832 @property 833 def Description(self) -> str: 834 return self._Entity.Description 835 836 @property 837 def ModificationDate(self) -> DateTime: 838 return self._Entity.ModificationDate 839 840 @property 841 def NastranSubcaseId(self) -> int: 842 return self._Entity.NastranSubcaseId 843 844 @property 845 def NastranLoadId(self) -> int: 846 return self._Entity.NastranLoadId 847 848 @property 849 def NastranSpcId(self) -> int: 850 return self._Entity.NastranSpcId 851 852 @property 853 def AbaqusStepName(self) -> str: 854 return self._Entity.AbaqusStepName 855 856 @property 857 def AbaqusLoadCaseName(self) -> str: 858 return self._Entity.AbaqusLoadCaseName 859 860 @property 861 def AbaqusStepTime(self) -> float: 862 return self._Entity.AbaqusStepTime 863 864 @property 865 def RunDeckOrder(self) -> int: 866 return self._Entity.RunDeckOrder 867 868 @property 869 def SolutionType(self) -> types.FeaSolutionType: 870 return types.FeaSolutionType[self._Entity.SolutionType.ToString()] 871 872 873class DesignLoadSubcaseMultiplier(IdNameEntity): 874 def __init__(self, designLoadSubcaseMultiplier: _api.DesignLoadSubcaseMultiplier): 875 self._Entity = designLoadSubcaseMultiplier 876 877 @property 878 def LimitFactor(self) -> float: 879 return self._Entity.LimitFactor 880 881 @property 882 def Subcase(self) -> DesignLoadSubcase: 883 result = self._Entity.Subcase 884 return DesignLoadSubcase(result) if result is not None else None 885 886 @property 887 def UltimateFactor(self) -> float: 888 return self._Entity.UltimateFactor 889 890 @property 891 def Value(self) -> float: 892 return self._Entity.Value 893 894 895class DesignLoadSubcaseTemperature(IdNameEntity): 896 def __init__(self, designLoadSubcaseTemperature: _api.DesignLoadSubcaseTemperature): 897 self._Entity = designLoadSubcaseTemperature 898 899 @property 900 def HasTemperatureSubcase(self) -> bool: 901 return self._Entity.HasTemperatureSubcase 902 903 @property 904 def Subcase(self) -> DesignLoadSubcase: 905 result = self._Entity.Subcase 906 return DesignLoadSubcase(result) if result is not None else None 907 908 @property 909 def TemperatureChoiceType(self) -> types.TemperatureChoiceType: 910 ''' 911 Load Case Setting selection for analysis and initial temperature. 912 ''' 913 return types.TemperatureChoiceType[self._Entity.TemperatureChoiceType.ToString()] 914 915 @property 916 def Value(self) -> float: 917 return self._Entity.Value 918 919 920class DesignLoadSubcaseMultiplierCol(IdNameEntityCol[DesignLoadSubcaseMultiplier]): 921 def __init__(self, designLoadSubcaseMultiplierCol: _api.DesignLoadSubcaseMultiplierCol): 922 self._Entity = designLoadSubcaseMultiplierCol 923 self._CollectedClass = DesignLoadSubcaseMultiplier 924 925 @property 926 def DesignLoadSubcaseMultiplierColList(self) -> tuple[DesignLoadSubcaseMultiplier]: 927 return tuple([DesignLoadSubcaseMultiplier(designLoadSubcaseMultiplierCol) for designLoadSubcaseMultiplierCol in self._Entity]) 928 929 @overload 930 def Get(self, name: str) -> DesignLoadSubcaseMultiplier: ... 931 932 @overload 933 def Get(self, id: int) -> DesignLoadSubcaseMultiplier: ... 934 935 def Get(self, item1 = None) -> DesignLoadSubcaseMultiplier: 936 if isinstance(item1, str): 937 return DesignLoadSubcaseMultiplier(super().Get(item1)) 938 939 if isinstance(item1, int): 940 return DesignLoadSubcaseMultiplier(super().Get(item1)) 941 942 return DesignLoadSubcaseMultiplier(self._Entity.Get(item1)) 943 944 def __getitem__(self, index: int): 945 return self.DesignLoadSubcaseMultiplierColList[index] 946 947 def __iter__(self): 948 yield from self.DesignLoadSubcaseMultiplierColList 949 950 def __len__(self): 951 return len(self.DesignLoadSubcaseMultiplierColList) 952 953 954class DesignLoad(IdNameEntity): 955 def __init__(self, designLoad: _api.DesignLoad): 956 self._Entity = designLoad 957 958 @property 959 def AnalysisTemperature(self) -> DesignLoadSubcaseTemperature: 960 result = self._Entity.AnalysisTemperature 961 return DesignLoadSubcaseTemperature(result) if result is not None else None 962 963 @property 964 def InitialTemperature(self) -> DesignLoadSubcaseTemperature: 965 result = self._Entity.InitialTemperature 966 return DesignLoadSubcaseTemperature(result) if result is not None else None 967 968 @property 969 def Description(self) -> str: 970 return self._Entity.Description 971 972 @property 973 def IsActive(self) -> bool: 974 return self._Entity.IsActive 975 976 @property 977 def IsEditable(self) -> bool: 978 return self._Entity.IsEditable 979 980 @property 981 def IsVirtual(self) -> bool: 982 return self._Entity.IsVirtual 983 984 @property 985 def ModificationDate(self) -> DateTime: 986 return self._Entity.ModificationDate 987 988 @property 989 def SubcaseMultipliers(self) -> DesignLoadSubcaseMultiplierCol: 990 result = self._Entity.SubcaseMultipliers 991 return DesignLoadSubcaseMultiplierCol(result) if result is not None else None 992 993 @property 994 def Types(self) -> list[types.LoadCaseType]: 995 return [types.LoadCaseType[loadCaseType.ToString()] for loadCaseType in self._Entity.Types] 996 997 @property 998 def UID(self) -> Guid: 999 return self._Entity.UID 1000 1001 1002class JointDesignResult(IdEntity): 1003 def __init__(self, jointDesignResult: _api.JointDesignResult): 1004 self._Entity = jointDesignResult 1005 1006 1007class ZoneDesignResult(IdEntity): 1008 def __init__(self, zoneDesignResult: _api.ZoneDesignResult): 1009 self._Entity = zoneDesignResult 1010 1011 @property 1012 def VariableParameter(self) -> types.VariableParameter: 1013 return types.VariableParameter[self._Entity.VariableParameter.ToString()] 1014 1015 @property 1016 def Value(self) -> float: 1017 return self._Entity.Value 1018 1019 @property 1020 def MaterialId(self) -> int: 1021 return self._Entity.MaterialId 1022 1023 @property 1024 def MaterialType(self) -> types.MaterialType: 1025 return types.MaterialType[self._Entity.MaterialType.ToString()] 1026 1027 1028class Vector3d: 1029 ''' 1030 Represents a readonly 3D vector. 1031 ''' 1032 def __init__(self, vector3d: _api.Vector3d): 1033 self._Entity = vector3d 1034 1035 def Create_Vector3d(x: float, y: float, z: float): 1036 return Vector3d(_api.Vector3d(x, y, z)) 1037 1038 @property 1039 def X(self) -> float: 1040 return self._Entity.X 1041 1042 @property 1043 def Y(self) -> float: 1044 return self._Entity.Y 1045 1046 @property 1047 def Z(self) -> float: 1048 return self._Entity.Z 1049 1050 @overload 1051 def Equals(self, other) -> bool: ... 1052 1053 @overload 1054 def Equals(self, obj) -> bool: ... 1055 1056 def GetHashCode(self) -> int: 1057 return self._Entity.GetHashCode() 1058 1059 def Equals(self, item1 = None) -> bool: 1060 if isinstance(item1, Vector3d): 1061 return self._Entity.Equals(item1._Entity) 1062 1063 return self._Entity.Equals(item1._Entity) 1064 1065 def __eq__(self, other): 1066 return self.Equals(other) 1067 1068 def __ne__(self, other): 1069 return not self.Equals(other) 1070 1071 1072class DiscreteField(IdNameEntityRenameable): 1073 ''' 1074 Represents a table of discrete field data. 1075 ''' 1076 def __init__(self, discreteField: _api.DiscreteField): 1077 self._Entity = discreteField 1078 1079 @property 1080 def Columns(self) -> dict[int, str]: 1081 columnsDict = {} 1082 for kvp in self._Entity.Columns: 1083 columnsDict[int(kvp.Key)] = str(kvp.Value) 1084 1085 return columnsDict 1086 1087 @property 1088 def ColumnCount(self) -> int: 1089 return self._Entity.ColumnCount 1090 1091 @property 1092 def DataType(self) -> types.DiscreteFieldDataType: 1093 ''' 1094 Defines the type of data stored in a Discrete Field. Such as Vector, Scalar, String. 1095 ''' 1096 return types.DiscreteFieldDataType[self._Entity.DataType.ToString()] 1097 1098 @property 1099 def PhysicalEntityType(self) -> types.DiscreteFieldPhysicalEntityType: 1100 ''' 1101 Defines the type of physical entity that a Discrete Field applies to, such as zone, element, joint, etc. 1102 ''' 1103 return types.DiscreteFieldPhysicalEntityType[self._Entity.PhysicalEntityType.ToString()] 1104 1105 @property 1106 def PointIds(self) -> list[Vector3d]: 1107 return [Vector3d(vector3d) for vector3d in self._Entity.PointIds] 1108 1109 @property 1110 def RowCount(self) -> int: 1111 return self._Entity.RowCount 1112 1113 @property 1114 def RowIds(self) -> list[int]: 1115 return [int32 for int32 in self._Entity.RowIds] 1116 1117 def AddColumn(self, name: str) -> int: 1118 ''' 1119 Create a new column with the given name. Returns the Id of the newly created column 1120 ''' 1121 return self._Entity.AddColumn(name) 1122 1123 def AddPointRow(self, pointId: Vector3d) -> None: 1124 ''' 1125 Create an empty row in a point-based table. 1126 ''' 1127 return self._Entity.AddPointRow(pointId._Entity) 1128 1129 @overload 1130 def ReadNumericCell(self, entityId: int, columnId: int) -> float: ... 1131 1132 @overload 1133 def ReadNumericCell(self, pointId: Vector3d, columnId: int) -> float: ... 1134 1135 @overload 1136 def ReadStringCell(self, entityId: int, columnId: int) -> str: ... 1137 1138 @overload 1139 def ReadStringCell(self, pointId: Vector3d, columnId: int) -> str: ... 1140 1141 def SetColumnName(self, columnId: int, name: str) -> None: 1142 return self._Entity.SetColumnName(columnId, name) 1143 1144 @overload 1145 def SetNumericValue(self, entityId: int, columnId: int, value: float) -> None: ... 1146 1147 @overload 1148 def SetNumericValue(self, pointId: Vector3d, columnId: int, value: float) -> None: ... 1149 1150 @overload 1151 def SetStringValue(self, entityId: int, columnId: int, value: str) -> None: ... 1152 1153 @overload 1154 def SetStringValue(self, pointId: Vector3d, columnId: int, value: str) -> None: ... 1155 1156 def DeleteAllRows(self) -> None: 1157 ''' 1158 Delete all rows for this discrete field. 1159 ''' 1160 return self._Entity.DeleteAllRows() 1161 1162 def DeleteColumn(self, columnId: int) -> None: 1163 ''' 1164 Delete a specified column for this discrete field. Columns are 1-indexed. 1165 ''' 1166 return self._Entity.DeleteColumn(columnId) 1167 1168 def DeletePointRow(self, pointId: Vector3d) -> None: 1169 ''' 1170 Delete a specific row for a point-based table. 1171 ''' 1172 return self._Entity.DeletePointRow(pointId._Entity) 1173 1174 def DeleteRow(self, entityId: int) -> None: 1175 ''' 1176 Delete a specific row for a non-point-based table. 1177 ''' 1178 return self._Entity.DeleteRow(entityId) 1179 1180 def DeleteRowsAndColumns(self) -> None: 1181 ''' 1182 Delete all rows and columns for this discrete field. 1183 ''' 1184 return self._Entity.DeleteRowsAndColumns() 1185 1186 def ReadNumericCell(self, item1 = None, item2 = None) -> float: 1187 if isinstance(item1, int) and isinstance(item2, int): 1188 return self._Entity.ReadNumericCell(item1, item2) 1189 1190 if isinstance(item1, Vector3d) and isinstance(item2, int): 1191 return self._Entity.ReadNumericCell(item1._Entity, item2) 1192 1193 return self._Entity.ReadNumericCell(item1, item2) 1194 1195 def ReadStringCell(self, item1 = None, item2 = None) -> str: 1196 if isinstance(item1, int) and isinstance(item2, int): 1197 return self._Entity.ReadStringCell(item1, item2) 1198 1199 if isinstance(item1, Vector3d) and isinstance(item2, int): 1200 return self._Entity.ReadStringCell(item1._Entity, item2) 1201 1202 return self._Entity.ReadStringCell(item1, item2) 1203 1204 def SetNumericValue(self, item1 = None, item2 = None, item3 = None) -> None: 1205 if isinstance(item1, int) and isinstance(item2, int) and isinstance(item3, float): 1206 return self._Entity.SetNumericValue(item1, item2, item3) 1207 1208 if isinstance(item1, Vector3d) and isinstance(item2, int) and isinstance(item3, float): 1209 return self._Entity.SetNumericValue(item1._Entity, item2, item3) 1210 1211 return self._Entity.SetNumericValue(item1, item2, item3) 1212 1213 def SetStringValue(self, item1 = None, item2 = None, item3 = None) -> None: 1214 if isinstance(item1, int) and isinstance(item2, int) and isinstance(item3, str): 1215 return self._Entity.SetStringValue(item1, item2, item3) 1216 1217 if isinstance(item1, Vector3d) and isinstance(item2, int) and isinstance(item3, str): 1218 return self._Entity.SetStringValue(item1._Entity, item2, item3) 1219 1220 return self._Entity.SetStringValue(item1, item2, item3) 1221 1222 1223class Node(IdEntity): 1224 def __init__(self, node: _api.Node): 1225 self._Entity = node 1226 1227 @property 1228 def X(self) -> float: 1229 return self._Entity.X 1230 1231 @property 1232 def Y(self) -> float: 1233 return self._Entity.Y 1234 1235 @property 1236 def Z(self) -> float: 1237 return self._Entity.Z 1238 1239 1240class Centroid: 1241 def __init__(self, centroid: _api.Centroid): 1242 self._Entity = centroid 1243 1244 @property 1245 def X(self) -> float: 1246 return self._Entity.X 1247 1248 @property 1249 def Y(self) -> float: 1250 return self._Entity.Y 1251 1252 @property 1253 def Z(self) -> float: 1254 return self._Entity.Z 1255 1256 1257class Element(IdEntity): 1258 def __init__(self, element: _api.Element): 1259 self._Entity = element 1260 1261 @property 1262 def MarginOfSafety(self) -> float: 1263 return self._Entity.MarginOfSafety 1264 1265 @property 1266 def Centroid(self) -> Centroid: 1267 result = self._Entity.Centroid 1268 return Centroid(result) if result is not None else None 1269 1270 @property 1271 def Nodes(self) -> list[Node]: 1272 return [Node(node) for node in self._Entity.Nodes] 1273 1274 1275class FailureModeCategory(IdNameEntity): 1276 def __init__(self, failureModeCategory: _api.FailureModeCategory): 1277 self._Entity = failureModeCategory 1278 1279 @property 1280 def PackageId(self) -> int: 1281 return self._Entity.PackageId 1282 1283 1284class EntityWithAssignableProperties(IdNameEntityRenameable): 1285 def __init__(self, entityWithAssignableProperties: _api.EntityWithAssignableProperties): 1286 self._Entity = entityWithAssignableProperties 1287 1288 @property 1289 def AssignedAnalysisProperty(self) -> AnalysisProperty: 1290 result = self._Entity.AssignedAnalysisProperty 1291 return AnalysisProperty(result) if result is not None else None 1292 1293 @property 1294 def AssignedDesignProperty(self) -> DesignProperty: 1295 thisClass = type(self._Entity.AssignedDesignProperty).__name__ 1296 givenClass = DesignProperty 1297 for subclass in DesignProperty.__subclasses__(): 1298 if subclass.__name__ == thisClass: 1299 givenClass = subclass 1300 result = self._Entity.AssignedDesignProperty 1301 return givenClass(result) if result is not None else None 1302 1303 @property 1304 def AssignedLoadProperty(self) -> LoadProperty: 1305 thisClass = type(self._Entity.AssignedLoadProperty).__name__ 1306 givenClass = LoadProperty 1307 for subclass in LoadProperty.__subclasses__(): 1308 if subclass.__name__ == thisClass: 1309 givenClass = subclass 1310 result = self._Entity.AssignedLoadProperty 1311 return givenClass(result) if result is not None else None 1312 1313 def AssignAnalysisProperty(self, id: int) -> PropertyAssignmentStatus: 1314 return PropertyAssignmentStatus[self._Entity.AssignAnalysisProperty(id).ToString()] 1315 1316 def AssignDesignProperty(self, id: int) -> PropertyAssignmentStatus: 1317 return PropertyAssignmentStatus[self._Entity.AssignDesignProperty(id).ToString()] 1318 1319 def AssignLoadProperty(self, id: int) -> PropertyAssignmentStatus: 1320 return PropertyAssignmentStatus[self._Entity.AssignLoadProperty(id).ToString()] 1321 1322 def AssignProperty(self, property: AssignableProperty) -> PropertyAssignmentStatus: 1323 ''' 1324 Assign a Property to this entity. 1325 ''' 1326 return PropertyAssignmentStatus[self._Entity.AssignProperty(property._Entity).ToString()] 1327 1328 1329class AnalysisResultCol(Generic[T]): 1330 def __init__(self, analysisResultCol: _api.AnalysisResultCol): 1331 self._Entity = analysisResultCol 1332 1333 @property 1334 def AnalysisResultColList(self) -> tuple[AnalysisResult]: 1335 if self._Entity.Count() <= 0: 1336 return () 1337 thisClass = type(self._Entity._items[0]).__name__ 1338 givenClass = AnalysisResult 1339 for subclass in AnalysisResult.__subclasses__(): 1340 if subclass.__name__ == thisClass: 1341 givenClass = subclass 1342 return tuple([givenClass(analysisResultCol) for analysisResultCol in self._Entity]) 1343 1344 def Count(self) -> int: 1345 return self._Entity.Count() 1346 1347 def __getitem__(self, index: int): 1348 return self.AnalysisResultColList[index] 1349 1350 def __iter__(self): 1351 yield from self.AnalysisResultColList 1352 1353 def __len__(self): 1354 return len(self.AnalysisResultColList) 1355 1356 1357class ZoneJointEntity(EntityWithAssignableProperties): 1358 ''' 1359 Abstract base for a Zone or Joint. 1360 ''' 1361 def __init__(self, zoneJointEntity: _api.ZoneJointEntity): 1362 self._Entity = zoneJointEntity 1363 1364 @abstractmethod 1365 def GetMinimumMargin(self) -> Margin: 1366 return Margin(self._Entity.GetMinimumMargin()) 1367 1368 @abstractmethod 1369 def GetControllingResult(self) -> AnalysisResult: 1370 result = self._Entity.GetControllingResult() 1371 thisClass = type(result).__name__ 1372 givenClass = AnalysisResult 1373 for subclass in AnalysisResult.__subclasses__(): 1374 if subclass.__name__ == thisClass: 1375 givenClass = subclass 1376 return givenClass(result) 1377 1378 @abstractmethod 1379 def GetAllResults(self) -> AnalysisResultCol: 1380 return AnalysisResultCol(self._Entity.GetAllResults()) 1381 1382 1383class JointDesignResultCol(IdEntityCol[JointDesignResult]): 1384 def __init__(self, jointDesignResultCol: _api.JointDesignResultCol): 1385 self._Entity = jointDesignResultCol 1386 self._CollectedClass = JointDesignResult 1387 1388 @property 1389 def JointDesignResultColList(self) -> tuple[JointDesignResult]: 1390 return tuple([JointDesignResult(jointDesignResultCol) for jointDesignResultCol in self._Entity]) 1391 1392 @overload 1393 def Get(self, jointSelectionId: types.JointSelectionId) -> JointDesignResult: ... 1394 1395 @overload 1396 def Get(self, jointRangeId: types.JointRangeId) -> JointDesignResult: ... 1397 1398 @overload 1399 def Get(self, id: int) -> JointDesignResult: ... 1400 1401 def Get(self, item1 = None) -> JointDesignResult: 1402 if isinstance(item1, types.JointSelectionId): 1403 result = self._Entity.Get(_types.JointSelectionId(item1.value)) 1404 thisClass = type(result).__name__ 1405 givenClass = JointDesignResult 1406 for subclass in JointDesignResult.__subclasses__(): 1407 if subclass.__name__ == thisClass: 1408 givenClass = subclass 1409 return givenClass(result) 1410 1411 if isinstance(item1, types.JointRangeId): 1412 result = self._Entity.Get(_types.JointRangeId(item1.value)) 1413 thisClass = type(result).__name__ 1414 givenClass = JointDesignResult 1415 for subclass in JointDesignResult.__subclasses__(): 1416 if subclass.__name__ == thisClass: 1417 givenClass = subclass 1418 return givenClass(result) 1419 1420 if isinstance(item1, int): 1421 return JointDesignResult(super().Get(item1)) 1422 1423 result = self._Entity.Get(_types.JointSelectionId(item1.value)) 1424 thisClass = type(result).__name__ 1425 givenClass = JointDesignResult 1426 for subclass in JointDesignResult.__subclasses__(): 1427 if subclass.__name__ == thisClass: 1428 givenClass = subclass 1429 return givenClass(result) 1430 1431 def __getitem__(self, index: int): 1432 return self.JointDesignResultColList[index] 1433 1434 def __iter__(self): 1435 yield from self.JointDesignResultColList 1436 1437 def __len__(self): 1438 return len(self.JointDesignResultColList) 1439 1440 1441class Joint(ZoneJointEntity): 1442 def __init__(self, joint: _api.Joint): 1443 self._Entity = joint 1444 1445 @property 1446 def JointRangeSizingResults(self) -> JointDesignResultCol: 1447 result = self._Entity.JointRangeSizingResults 1448 return JointDesignResultCol(result) if result is not None else None 1449 1450 @property 1451 def JointSelectionSizingResults(self) -> JointDesignResultCol: 1452 result = self._Entity.JointSelectionSizingResults 1453 return JointDesignResultCol(result) if result is not None else None 1454 1455 def GetAllResults(self) -> AnalysisResultCol: 1456 return AnalysisResultCol(self._Entity.GetAllResults()) 1457 1458 def GetControllingResult(self) -> AnalysisResult: 1459 result = self._Entity.GetControllingResult() 1460 thisClass = type(result).__name__ 1461 givenClass = AnalysisResult 1462 for subclass in AnalysisResult.__subclasses__(): 1463 if subclass.__name__ == thisClass: 1464 givenClass = subclass 1465 return givenClass(result) 1466 1467 def GetMinimumMargin(self) -> Margin: 1468 return Margin(self._Entity.GetMinimumMargin()) 1469 1470 1471class ZoneDesignResultCol(IdEntityCol[ZoneDesignResult]): 1472 def __init__(self, zoneDesignResultCol: _api.ZoneDesignResultCol): 1473 self._Entity = zoneDesignResultCol 1474 self._CollectedClass = ZoneDesignResult 1475 1476 @property 1477 def ZoneDesignResultColList(self) -> tuple[ZoneDesignResult]: 1478 return tuple([ZoneDesignResult(zoneDesignResultCol) for zoneDesignResultCol in self._Entity]) 1479 1480 @overload 1481 def Get(self, parameterId: types.VariableParameter) -> ZoneDesignResult: ... 1482 1483 @overload 1484 def Get(self, id: int) -> ZoneDesignResult: ... 1485 1486 def Get(self, item1 = None) -> ZoneDesignResult: 1487 if isinstance(item1, types.VariableParameter): 1488 return ZoneDesignResult(self._Entity.Get(_types.VariableParameter(item1.value))) 1489 1490 if isinstance(item1, int): 1491 return ZoneDesignResult(super().Get(item1)) 1492 1493 return ZoneDesignResult(self._Entity.Get(_types.VariableParameter(item1.value))) 1494 1495 def __getitem__(self, index: int): 1496 return self.ZoneDesignResultColList[index] 1497 1498 def __iter__(self): 1499 yield from self.ZoneDesignResultColList 1500 1501 def __len__(self): 1502 return len(self.ZoneDesignResultColList) 1503 1504 1505class ZoneBase(ZoneJointEntity): 1506 ''' 1507 Abstract for regular Zones and Panel Segments. 1508 ''' 1509 def __init__(self, zoneBase: _api.ZoneBase): 1510 self._Entity = zoneBase 1511 1512 @property 1513 def Centroid(self) -> Centroid: 1514 result = self._Entity.Centroid 1515 return Centroid(result) if result is not None else None 1516 1517 @property 1518 def Id(self) -> int: 1519 return self._Entity.Id 1520 1521 @property 1522 def Weight(self) -> float: 1523 return self._Entity.Weight 1524 1525 @property 1526 def NonOptimumFactor(self) -> float: 1527 return self._Entity.NonOptimumFactor 1528 1529 @property 1530 def AddedWeight(self) -> float: 1531 return self._Entity.AddedWeight 1532 1533 @property 1534 def SuperimposePanel(self) -> bool: 1535 return self._Entity.SuperimposePanel 1536 1537 @property 1538 def BucklingImperfection(self) -> float: 1539 return self._Entity.BucklingImperfection 1540 1541 @property 1542 def IsBeamColumn(self) -> bool: 1543 return self._Entity.IsBeamColumn 1544 1545 @property 1546 def SuperimposeBoundaryCondition(self) -> int: 1547 return self._Entity.SuperimposeBoundaryCondition 1548 1549 @property 1550 def IsZeroOutFeaMoments(self) -> bool: 1551 return self._Entity.IsZeroOutFeaMoments 1552 1553 @property 1554 def IsZeroOutFeaTransverseShears(self) -> bool: 1555 return self._Entity.IsZeroOutFeaTransverseShears 1556 1557 @property 1558 def MechanicalLimit(self) -> float: 1559 return self._Entity.MechanicalLimit 1560 1561 @property 1562 def MechanicalUltimate(self) -> float: 1563 return self._Entity.MechanicalUltimate 1564 1565 @property 1566 def ThermalHelp(self) -> float: 1567 return self._Entity.ThermalHelp 1568 1569 @property 1570 def ThermalHurt(self) -> float: 1571 return self._Entity.ThermalHurt 1572 1573 @property 1574 def FatigueKTSkin(self) -> float: 1575 return self._Entity.FatigueKTSkin 1576 1577 @property 1578 def FatigueKTStiff(self) -> float: 1579 return self._Entity.FatigueKTStiff 1580 1581 @property 1582 def XSpan(self) -> float: 1583 return self._Entity.XSpan 1584 1585 @property 1586 def EARequired(self) -> float: 1587 return self._Entity.EARequired 1588 1589 @property 1590 def EI1Required(self) -> float: 1591 return self._Entity.EI1Required 1592 1593 @property 1594 def EI2Required(self) -> float: 1595 return self._Entity.EI2Required 1596 1597 @property 1598 def GJRequired(self) -> float: 1599 return self._Entity.GJRequired 1600 1601 @property 1602 def EAAuto(self) -> float: 1603 return self._Entity.EAAuto 1604 1605 @property 1606 def EI1Auto(self) -> float: 1607 return self._Entity.EI1Auto 1608 1609 @property 1610 def EI2Auto(self) -> float: 1611 return self._Entity.EI2Auto 1612 1613 @property 1614 def GJAuto(self) -> float: 1615 return self._Entity.GJAuto 1616 1617 @property 1618 def Ex(self) -> float: 1619 return self._Entity.Ex 1620 1621 @property 1622 def Dmid(self) -> float: 1623 return self._Entity.Dmid 1624 1625 @NonOptimumFactor.setter 1626 def NonOptimumFactor(self, value: float) -> None: 1627 self._Entity.NonOptimumFactor = value 1628 1629 @AddedWeight.setter 1630 def AddedWeight(self, value: float) -> None: 1631 self._Entity.AddedWeight = value 1632 1633 @SuperimposePanel.setter 1634 def SuperimposePanel(self, value: bool) -> None: 1635 self._Entity.SuperimposePanel = value 1636 1637 @BucklingImperfection.setter 1638 def BucklingImperfection(self, value: float) -> None: 1639 self._Entity.BucklingImperfection = value 1640 1641 @IsBeamColumn.setter 1642 def IsBeamColumn(self, value: bool) -> None: 1643 self._Entity.IsBeamColumn = value 1644 1645 @SuperimposeBoundaryCondition.setter 1646 def SuperimposeBoundaryCondition(self, value: int) -> None: 1647 self._Entity.SuperimposeBoundaryCondition = value 1648 1649 @IsZeroOutFeaMoments.setter 1650 def IsZeroOutFeaMoments(self, value: bool) -> None: 1651 self._Entity.IsZeroOutFeaMoments = value 1652 1653 @IsZeroOutFeaTransverseShears.setter 1654 def IsZeroOutFeaTransverseShears(self, value: bool) -> None: 1655 self._Entity.IsZeroOutFeaTransverseShears = value 1656 1657 @MechanicalLimit.setter 1658 def MechanicalLimit(self, value: float) -> None: 1659 self._Entity.MechanicalLimit = value 1660 1661 @MechanicalUltimate.setter 1662 def MechanicalUltimate(self, value: float) -> None: 1663 self._Entity.MechanicalUltimate = value 1664 1665 @ThermalHelp.setter 1666 def ThermalHelp(self, value: float) -> None: 1667 self._Entity.ThermalHelp = value 1668 1669 @ThermalHurt.setter 1670 def ThermalHurt(self, value: float) -> None: 1671 self._Entity.ThermalHurt = value 1672 1673 @FatigueKTSkin.setter 1674 def FatigueKTSkin(self, value: float) -> None: 1675 self._Entity.FatigueKTSkin = value 1676 1677 @FatigueKTStiff.setter 1678 def FatigueKTStiff(self, value: float) -> None: 1679 self._Entity.FatigueKTStiff = value 1680 1681 @XSpan.setter 1682 def XSpan(self, value: float) -> None: 1683 self._Entity.XSpan = value 1684 1685 @EARequired.setter 1686 def EARequired(self, value: float) -> None: 1687 self._Entity.EARequired = value 1688 1689 @EI1Required.setter 1690 def EI1Required(self, value: float) -> None: 1691 self._Entity.EI1Required = value 1692 1693 @EI2Required.setter 1694 def EI2Required(self, value: float) -> None: 1695 self._Entity.EI2Required = value 1696 1697 @GJRequired.setter 1698 def GJRequired(self, value: float) -> None: 1699 self._Entity.GJRequired = value 1700 1701 @Ex.setter 1702 def Ex(self, value: float) -> None: 1703 self._Entity.Ex = value 1704 1705 @Dmid.setter 1706 def Dmid(self, value: float) -> None: 1707 self._Entity.Dmid = value 1708 1709 def GetObjectName(self, objectId: types.FamilyObjectUID) -> str: 1710 return self._Entity.GetObjectName(_types.FamilyObjectUID(objectId.value)) 1711 1712 def GetConceptName(self) -> str: 1713 return self._Entity.GetConceptName() 1714 1715 def GetZoneDesignResults(self, solutionId: int = 1) -> ZoneDesignResultCol: 1716 ''' 1717 Returns a collection of Zone Design Results for a Solution Id (default 1) 1718 ''' 1719 return ZoneDesignResultCol(self._Entity.GetZoneDesignResults(solutionId)) 1720 1721 def RenumberZone(self, newId: int) -> ZoneIdUpdateStatus: 1722 ''' 1723 Attempt to update a zone's ID. 1724 ''' 1725 return ZoneIdUpdateStatus[self._Entity.RenumberZone(newId).ToString()] 1726 1727 def GetAllResults(self) -> AnalysisResultCol: 1728 return AnalysisResultCol(self._Entity.GetAllResults()) 1729 1730 def GetControllingResult(self) -> AnalysisResult: 1731 result = self._Entity.GetControllingResult() 1732 thisClass = type(result).__name__ 1733 givenClass = AnalysisResult 1734 for subclass in AnalysisResult.__subclasses__(): 1735 if subclass.__name__ == thisClass: 1736 givenClass = subclass 1737 return givenClass(result) 1738 1739 def GetMinimumMargin(self) -> Margin: 1740 return Margin(self._Entity.GetMinimumMargin()) 1741 1742 1743class ElementCol(IdEntityCol[Element]): 1744 def __init__(self, elementCol: _api.ElementCol): 1745 self._Entity = elementCol 1746 self._CollectedClass = Element 1747 1748 @property 1749 def ElementColList(self) -> tuple[Element]: 1750 return tuple([Element(elementCol) for elementCol in self._Entity]) 1751 1752 def __getitem__(self, index: int): 1753 return self.ElementColList[index] 1754 1755 def __iter__(self): 1756 yield from self.ElementColList 1757 1758 def __len__(self): 1759 return len(self.ElementColList) 1760 1761 1762class PanelSegment(ZoneBase): 1763 def __init__(self, panelSegment: _api.PanelSegment): 1764 self._Entity = panelSegment 1765 1766 @property 1767 def ElementsByObjectOrSkin(self) -> dict[types.DiscreteDefinitionType, ElementCol]: 1768 elementsByObjectOrSkinDict = {} 1769 for kvp in self._Entity.ElementsByObjectOrSkin: 1770 elementsByObjectOrSkinDict[types.DiscreteDefinitionType[kvp.Key.ToString()]] = ElementCol(kvp.Value) 1771 1772 return elementsByObjectOrSkinDict 1773 1774 @property 1775 def Skins(self) -> tuple[types.DiscreteDefinitionType]: 1776 return tuple([types.DiscreteDefinitionType(discreteDefinitionType) for discreteDefinitionType in self._Entity.Skins]) 1777 1778 @property 1779 def Objects(self) -> tuple[types.DiscreteDefinitionType]: 1780 return tuple([types.DiscreteDefinitionType(discreteDefinitionType) for discreteDefinitionType in self._Entity.Objects]) 1781 1782 @property 1783 def DiscreteTechnique(self) -> types.DiscreteTechnique: 1784 return types.DiscreteTechnique[self._Entity.DiscreteTechnique.ToString()] 1785 1786 @property 1787 def LeftSkinZoneId(self) -> int: 1788 return self._Entity.LeftSkinZoneId 1789 1790 @property 1791 def RightSkinZoneId(self) -> int: 1792 return self._Entity.RightSkinZoneId 1793 1794 def GetElements(self, discreteDefinitionType: types.DiscreteDefinitionType) -> ElementCol: 1795 return ElementCol(self._Entity.GetElements(_types.DiscreteDefinitionType(discreteDefinitionType.value))) 1796 1797 def SetObjectElements(self, discreteDefinitionType: types.DiscreteDefinitionType, elementIds: tuple[int]) -> None: 1798 elementIdsList = MakeCSharpIntList(elementIds) 1799 elementIdsEnumerable = IEnumerable(elementIdsList) 1800 return self._Entity.SetObjectElements(_types.DiscreteDefinitionType(discreteDefinitionType.value), elementIdsEnumerable) 1801 1802 1803class Zone(ZoneBase): 1804 ''' 1805 Abstract for regular Zones (not Panel Segments). 1806 ''' 1807 def __init__(self, zone: _api.Zone): 1808 self._Entity = zone 1809 1810 @property 1811 def Elements(self) -> ElementCol: 1812 result = self._Entity.Elements 1813 return ElementCol(result) if result is not None else None 1814 1815 def AddElements(self, elementIds: tuple[int]) -> None: 1816 elementIdsList = MakeCSharpIntList(elementIds) 1817 elementIdsEnumerable = IEnumerable(elementIdsList) 1818 return self._Entity.AddElements(elementIdsEnumerable) 1819 1820 1821class EntityWithAssignablePropertiesCol(IdNameEntityCol, Generic[T]): 1822 def __init__(self, entityWithAssignablePropertiesCol: _api.EntityWithAssignablePropertiesCol): 1823 self._Entity = entityWithAssignablePropertiesCol 1824 self._CollectedClass = T 1825 1826 @property 1827 def EntityWithAssignablePropertiesColList(self) -> tuple[T]: 1828 if self._Entity.Count() <= 0: 1829 return () 1830 thisClass = type(self._Entity._items[0]).__name__ 1831 givenClass = T 1832 for subclass in T.__subclasses__(): 1833 if subclass.__name__ == thisClass: 1834 givenClass = subclass 1835 return tuple([givenClass(entityWithAssignablePropertiesCol) for entityWithAssignablePropertiesCol in self._Entity]) 1836 1837 def AssignPropertyToAll(self, property: AssignableProperty) -> PropertyAssignmentStatus: 1838 return PropertyAssignmentStatus[self._Entity.AssignPropertyToAll(property._Entity).ToString()] 1839 1840 @overload 1841 def Get(self, name: str) -> T: ... 1842 1843 @overload 1844 def Get(self, id: int) -> T: ... 1845 1846 def Get(self, item1 = None) -> T: 1847 if isinstance(item1, str): 1848 return super().Get(item1) 1849 1850 if isinstance(item1, int): 1851 return super().Get(item1) 1852 1853 return self._Entity.Get(item1) 1854 1855 def __getitem__(self, index: int): 1856 return self.EntityWithAssignablePropertiesColList[index] 1857 1858 def __iter__(self): 1859 yield from self.EntityWithAssignablePropertiesColList 1860 1861 def __len__(self): 1862 return len(self.EntityWithAssignablePropertiesColList) 1863 1864 1865class JointCol(EntityWithAssignablePropertiesCol[Joint]): 1866 def __init__(self, jointCol: _api.JointCol): 1867 self._Entity = jointCol 1868 self._CollectedClass = Joint 1869 1870 @property 1871 def JointColList(self) -> tuple[Joint]: 1872 return tuple([Joint(jointCol) for jointCol in self._Entity]) 1873 1874 @overload 1875 def Get(self, name: str) -> Joint: ... 1876 1877 @overload 1878 def Get(self, id: int) -> Joint: ... 1879 1880 def Get(self, item1 = None) -> Joint: 1881 if isinstance(item1, str): 1882 return Joint(super().Get(item1)) 1883 1884 if isinstance(item1, int): 1885 return Joint(super().Get(item1)) 1886 1887 return Joint(self._Entity.Get(item1)) 1888 1889 def __getitem__(self, index: int): 1890 return self.JointColList[index] 1891 1892 def __iter__(self): 1893 yield from self.JointColList 1894 1895 def __len__(self): 1896 return len(self.JointColList) 1897 1898 1899class PanelSegmentCol(EntityWithAssignablePropertiesCol[PanelSegment]): 1900 def __init__(self, panelSegmentCol: _api.PanelSegmentCol): 1901 self._Entity = panelSegmentCol 1902 self._CollectedClass = PanelSegment 1903 1904 @property 1905 def PanelSegmentColList(self) -> tuple[PanelSegment]: 1906 return tuple([PanelSegment(panelSegmentCol) for panelSegmentCol in self._Entity]) 1907 1908 @overload 1909 def Get(self, name: str) -> PanelSegment: ... 1910 1911 @overload 1912 def Get(self, id: int) -> PanelSegment: ... 1913 1914 def Get(self, item1 = None) -> PanelSegment: 1915 if isinstance(item1, str): 1916 return PanelSegment(super().Get(item1)) 1917 1918 if isinstance(item1, int): 1919 return PanelSegment(super().Get(item1)) 1920 1921 return PanelSegment(self._Entity.Get(item1)) 1922 1923 def __getitem__(self, index: int): 1924 return self.PanelSegmentColList[index] 1925 1926 def __iter__(self): 1927 yield from self.PanelSegmentColList 1928 1929 def __len__(self): 1930 return len(self.PanelSegmentColList) 1931 1932 1933class ZoneCol(EntityWithAssignablePropertiesCol[Zone]): 1934 def __init__(self, zoneCol: _api.ZoneCol): 1935 self._Entity = zoneCol 1936 self._CollectedClass = Zone 1937 1938 @property 1939 def ZoneColList(self) -> tuple[Zone]: 1940 return tuple([Zone(zoneCol) for zoneCol in self._Entity]) 1941 1942 @overload 1943 def Get(self, name: str) -> Zone: ... 1944 1945 @overload 1946 def Get(self, id: int) -> Zone: ... 1947 1948 def Get(self, item1 = None) -> Zone: 1949 if isinstance(item1, str): 1950 return Zone(super().Get(item1)) 1951 1952 if isinstance(item1, int): 1953 return Zone(super().Get(item1)) 1954 1955 result = self._Entity.Get(item1) 1956 thisClass = type(result).__name__ 1957 givenClass = Zone 1958 for subclass in Zone.__subclasses__(): 1959 if subclass.__name__ == thisClass: 1960 givenClass = subclass 1961 return givenClass(result) 1962 1963 def __getitem__(self, index: int): 1964 return self.ZoneColList[index] 1965 1966 def __iter__(self): 1967 yield from self.ZoneColList 1968 1969 def __len__(self): 1970 return len(self.ZoneColList) 1971 1972 1973class ZoneJointContainer(IdNameEntityRenameable): 1974 ''' 1975 Represents an entity that contains a collection of Zones and Joints. 1976 ''' 1977 def __init__(self, zoneJointContainer: _api.ZoneJointContainer): 1978 self._Entity = zoneJointContainer 1979 1980 @property 1981 def Centroid(self) -> Centroid: 1982 result = self._Entity.Centroid 1983 return Centroid(result) if result is not None else None 1984 1985 @property 1986 def Joints(self) -> JointCol: 1987 result = self._Entity.Joints 1988 return JointCol(result) if result is not None else None 1989 1990 @property 1991 def PanelSegments(self) -> PanelSegmentCol: 1992 result = self._Entity.PanelSegments 1993 return PanelSegmentCol(result) if result is not None else None 1994 1995 @property 1996 def TotalBeamLength(self) -> float: 1997 return self._Entity.TotalBeamLength 1998 1999 @property 2000 def TotalPanelArea(self) -> float: 2001 return self._Entity.TotalPanelArea 2002 2003 @property 2004 def TotalZoneWeight(self) -> float: 2005 return self._Entity.TotalZoneWeight 2006 2007 @property 2008 def Zones(self) -> ZoneCol: 2009 result = self._Entity.Zones 2010 return ZoneCol(result) if result is not None else None 2011 2012 @overload 2013 def AddJoint(self, id: int) -> CollectionModificationStatus: ... 2014 2015 @overload 2016 @abstractmethod 2017 def AddJoint(self, joint: Joint) -> CollectionModificationStatus: ... 2018 2019 @overload 2020 def RemoveJoint(self, id: int) -> CollectionModificationStatus: ... 2021 2022 @overload 2023 def RemoveJoint(self, joint: Joint) -> CollectionModificationStatus: ... 2024 2025 @overload 2026 @abstractmethod 2027 def RemoveJoints(self, jointIds: tuple[int]) -> CollectionModificationStatus: ... 2028 2029 @overload 2030 def RemoveJoints(self, joints: JointCol) -> CollectionModificationStatus: ... 2031 2032 @overload 2033 def AddZone(self, id: int) -> CollectionModificationStatus: ... 2034 2035 @overload 2036 def AddZones(self, ids: tuple[int]) -> CollectionModificationStatus: ... 2037 2038 @overload 2039 def AddZone(self, zone: Zone) -> CollectionModificationStatus: ... 2040 2041 @overload 2042 @abstractmethod 2043 def AddZones(self, zones: tuple[Zone]) -> CollectionModificationStatus: ... 2044 2045 @overload 2046 def RemoveZone(self, id: int) -> CollectionModificationStatus: ... 2047 2048 @overload 2049 def RemoveZone(self, zone: Zone) -> CollectionModificationStatus: ... 2050 2051 @overload 2052 @abstractmethod 2053 def RemoveZones(self, zoneIds: tuple[int]) -> CollectionModificationStatus: ... 2054 2055 @overload 2056 def RemoveZones(self, zones: ZoneCol) -> CollectionModificationStatus: ... 2057 2058 @overload 2059 def AddPanelSegment(self, id: int) -> CollectionModificationStatus: ... 2060 2061 @overload 2062 @abstractmethod 2063 def AddPanelSegment(self, segment: PanelSegment) -> CollectionModificationStatus: ... 2064 2065 @overload 2066 def RemovePanelSegment(self, id: int) -> CollectionModificationStatus: ... 2067 2068 @overload 2069 def RemovePanelSegment(self, segment: PanelSegment) -> CollectionModificationStatus: ... 2070 2071 @overload 2072 @abstractmethod 2073 def RemovePanelSegments(self, segmentIds: tuple[int]) -> CollectionModificationStatus: ... 2074 2075 @overload 2076 def RemovePanelSegments(self, segments: PanelSegmentCol) -> CollectionModificationStatus: ... 2077 2078 def AddJoint(self, item1 = None) -> CollectionModificationStatus: 2079 if isinstance(item1, int): 2080 return CollectionModificationStatus[self._Entity.AddJoint(item1).ToString()] 2081 2082 if isinstance(item1, Joint): 2083 return CollectionModificationStatus[self._Entity.AddJoint(item1._Entity).ToString()] 2084 2085 return CollectionModificationStatus[self._Entity.AddJoint(item1).ToString()] 2086 2087 def RemoveJoint(self, item1 = None) -> CollectionModificationStatus: 2088 if isinstance(item1, int): 2089 return CollectionModificationStatus[self._Entity.RemoveJoint(item1).ToString()] 2090 2091 if isinstance(item1, Joint): 2092 return CollectionModificationStatus[self._Entity.RemoveJoint(item1._Entity).ToString()] 2093 2094 return CollectionModificationStatus[self._Entity.RemoveJoint(item1).ToString()] 2095 2096 def RemoveJoints(self, item1 = None) -> CollectionModificationStatus: 2097 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int): 2098 jointIdsList = MakeCSharpIntList(item1) 2099 jointIdsEnumerable = IEnumerable(jointIdsList) 2100 return CollectionModificationStatus[self._Entity.RemoveJoints(jointIdsEnumerable).ToString()] 2101 2102 if isinstance(item1, JointCol): 2103 return CollectionModificationStatus[self._Entity.RemoveJoints(item1._Entity).ToString()] 2104 2105 return CollectionModificationStatus[self._Entity.RemoveJoints(item1).ToString()] 2106 2107 def AddZone(self, item1 = None) -> CollectionModificationStatus: 2108 if isinstance(item1, int): 2109 return CollectionModificationStatus[self._Entity.AddZone(item1).ToString()] 2110 2111 if isinstance(item1, Zone): 2112 return CollectionModificationStatus[self._Entity.AddZone(item1._Entity).ToString()] 2113 2114 return CollectionModificationStatus[self._Entity.AddZone(item1).ToString()] 2115 2116 def AddZones(self, item1 = None) -> CollectionModificationStatus: 2117 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int): 2118 idsList = MakeCSharpIntList(item1) 2119 idsEnumerable = IEnumerable(idsList) 2120 return CollectionModificationStatus[self._Entity.AddZones(idsEnumerable).ToString()] 2121 2122 if isinstance(item1, tuple) and item1 and isinstance(item1[0], Zone): 2123 zonesList = List[_api.Zone]() 2124 if item1 is not None: 2125 for thing in item1: 2126 if thing is not None: 2127 zonesList.Add(thing._Entity) 2128 zonesEnumerable = IEnumerable(zonesList) 2129 return CollectionModificationStatus[self._Entity.AddZones(zonesEnumerable).ToString()] 2130 2131 return CollectionModificationStatus[self._Entity.AddZones(item1).ToString()] 2132 2133 def RemoveZone(self, item1 = None) -> CollectionModificationStatus: 2134 if isinstance(item1, int): 2135 return CollectionModificationStatus[self._Entity.RemoveZone(item1).ToString()] 2136 2137 if isinstance(item1, Zone): 2138 return CollectionModificationStatus[self._Entity.RemoveZone(item1._Entity).ToString()] 2139 2140 return CollectionModificationStatus[self._Entity.RemoveZone(item1).ToString()] 2141 2142 def RemoveZones(self, item1 = None) -> CollectionModificationStatus: 2143 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int): 2144 zoneIdsList = MakeCSharpIntList(item1) 2145 zoneIdsEnumerable = IEnumerable(zoneIdsList) 2146 return CollectionModificationStatus[self._Entity.RemoveZones(zoneIdsEnumerable).ToString()] 2147 2148 if isinstance(item1, ZoneCol): 2149 return CollectionModificationStatus[self._Entity.RemoveZones(item1._Entity).ToString()] 2150 2151 return CollectionModificationStatus[self._Entity.RemoveZones(item1).ToString()] 2152 2153 def AddPanelSegment(self, item1 = None) -> CollectionModificationStatus: 2154 if isinstance(item1, int): 2155 return CollectionModificationStatus[self._Entity.AddPanelSegment(item1).ToString()] 2156 2157 if isinstance(item1, PanelSegment): 2158 return CollectionModificationStatus[self._Entity.AddPanelSegment(item1._Entity).ToString()] 2159 2160 return CollectionModificationStatus[self._Entity.AddPanelSegment(item1).ToString()] 2161 2162 def RemovePanelSegment(self, item1 = None) -> CollectionModificationStatus: 2163 if isinstance(item1, int): 2164 return CollectionModificationStatus[self._Entity.RemovePanelSegment(item1).ToString()] 2165 2166 if isinstance(item1, PanelSegment): 2167 return CollectionModificationStatus[self._Entity.RemovePanelSegment(item1._Entity).ToString()] 2168 2169 return CollectionModificationStatus[self._Entity.RemovePanelSegment(item1).ToString()] 2170 2171 def RemovePanelSegments(self, item1 = None) -> CollectionModificationStatus: 2172 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int): 2173 segmentIdsList = MakeCSharpIntList(item1) 2174 segmentIdsEnumerable = IEnumerable(segmentIdsList) 2175 return CollectionModificationStatus[self._Entity.RemovePanelSegments(segmentIdsEnumerable).ToString()] 2176 2177 if isinstance(item1, PanelSegmentCol): 2178 return CollectionModificationStatus[self._Entity.RemovePanelSegments(item1._Entity).ToString()] 2179 2180 return CollectionModificationStatus[self._Entity.RemovePanelSegments(item1).ToString()] 2181 2182 2183class AutomatedConstraint(IdNameEntityRenameable): 2184 def __init__(self, automatedConstraint: _api.AutomatedConstraint): 2185 self._Entity = automatedConstraint 2186 2187 @property 2188 def ConstraintType(self) -> types.StiffnessCriteriaType: 2189 return types.StiffnessCriteriaType[self._Entity.ConstraintType.ToString()] 2190 2191 @property 2192 def Set(self) -> str: 2193 return self._Entity.Set 2194 2195 @property 2196 def DesignLoadCases(self) -> list[str]: 2197 return [string for string in self._Entity.DesignLoadCases] 2198 2199 @Set.setter 2200 def Set(self, value: str) -> None: 2201 self._Entity.Set = value 2202 2203 def AddDesignLoadCases(self, designLoadCases: list[str]) -> None: 2204 designLoadCasesList = List[str]() 2205 if designLoadCases is not None: 2206 for thing in designLoadCases: 2207 if thing is not None: 2208 designLoadCasesList.Add(thing) 2209 return self._Entity.AddDesignLoadCases(designLoadCasesList) 2210 2211 def RemoveDesignLoadCases(self, designLoadCases: list[str]) -> None: 2212 designLoadCasesList = List[str]() 2213 if designLoadCases is not None: 2214 for thing in designLoadCases: 2215 if thing is not None: 2216 designLoadCasesList.Add(thing) 2217 return self._Entity.RemoveDesignLoadCases(designLoadCasesList) 2218 2219 2220class ModalAutomatedConstraint(AutomatedConstraint): 2221 def __init__(self, modalAutomatedConstraint: _api.ModalAutomatedConstraint): 2222 self._Entity = modalAutomatedConstraint 2223 2224 @property 2225 def Eigenvalue(self) -> float: 2226 return self._Entity.Eigenvalue 2227 2228 @Eigenvalue.setter 2229 def Eigenvalue(self, value: float) -> None: 2230 self._Entity.Eigenvalue = value 2231 2232 2233class BucklingAutomatedConstraint(ModalAutomatedConstraint): 2234 def __init__(self, bucklingAutomatedConstraint: _api.BucklingAutomatedConstraint): 2235 self._Entity = bucklingAutomatedConstraint 2236 2237 2238class StaticAutomatedConstraint(AutomatedConstraint): 2239 def __init__(self, staticAutomatedConstraint: _api.StaticAutomatedConstraint): 2240 self._Entity = staticAutomatedConstraint 2241 2242 @property 2243 def VirtualDesignLoad(self) -> str: 2244 return self._Entity.VirtualDesignLoad 2245 2246 @property 2247 def GridId(self) -> int: 2248 return self._Entity.GridId 2249 2250 @property 2251 def Orientation(self) -> types.DisplacementShapeType: 2252 return types.DisplacementShapeType[self._Entity.Orientation.ToString()] 2253 2254 @property 2255 def HasVector(self) -> bool: 2256 return self._Entity.HasVector 2257 2258 @property 2259 def X(self) -> float: 2260 return self._Entity.X 2261 2262 @property 2263 def Y(self) -> float: 2264 return self._Entity.Y 2265 2266 @property 2267 def Z(self) -> float: 2268 return self._Entity.Z 2269 2270 @VirtualDesignLoad.setter 2271 def VirtualDesignLoad(self, value: str) -> None: 2272 self._Entity.VirtualDesignLoad = value 2273 2274 @GridId.setter 2275 def GridId(self, value: int) -> None: 2276 self._Entity.GridId = value 2277 2278 @Orientation.setter 2279 def Orientation(self, value: types.DisplacementShapeType) -> None: 2280 self._Entity.Orientation = _types.DisplacementShapeType(value.value) 2281 2282 @X.setter 2283 def X(self, value: float) -> None: 2284 self._Entity.X = value 2285 2286 @Y.setter 2287 def Y(self, value: float) -> None: 2288 self._Entity.Y = value 2289 2290 @Z.setter 2291 def Z(self, value: float) -> None: 2292 self._Entity.Z = value 2293 2294 2295class DisplacementAutomatedConstraint(StaticAutomatedConstraint): 2296 def __init__(self, displacementAutomatedConstraint: _api.DisplacementAutomatedConstraint): 2297 self._Entity = displacementAutomatedConstraint 2298 2299 @property 2300 def Limit(self) -> float: 2301 return self._Entity.Limit 2302 2303 @Limit.setter 2304 def Limit(self, value: float) -> None: 2305 self._Entity.Limit = value 2306 2307 2308class FrequencyAutomatedConstraint(ModalAutomatedConstraint): 2309 def __init__(self, frequencyAutomatedConstraint: _api.FrequencyAutomatedConstraint): 2310 self._Entity = frequencyAutomatedConstraint 2311 2312 2313class RotationAutomatedConstraint(StaticAutomatedConstraint): 2314 def __init__(self, rotationAutomatedConstraint: _api.RotationAutomatedConstraint): 2315 self._Entity = rotationAutomatedConstraint 2316 2317 @property 2318 def Limit(self) -> float: 2319 return self._Entity.Limit 2320 2321 @Limit.setter 2322 def Limit(self, value: float) -> None: 2323 self._Entity.Limit = value 2324 2325 2326class ManualConstraint(IdNameEntityRenameable): 2327 def __init__(self, manualConstraint: _api.ManualConstraint): 2328 self._Entity = manualConstraint 2329 2330 @property 2331 def ConstraintType(self) -> types.ConstraintType: 2332 return types.ConstraintType[self._Entity.ConstraintType.ToString()] 2333 2334 @property 2335 def Set(self) -> str: 2336 return self._Entity.Set 2337 2338 @property 2339 def Limit(self) -> float: 2340 return self._Entity.Limit 2341 2342 @property 2343 def A11(self) -> bool: 2344 return self._Entity.A11 2345 2346 @property 2347 def A22(self) -> bool: 2348 return self._Entity.A22 2349 2350 @property 2351 def A33(self) -> bool: 2352 return self._Entity.A33 2353 2354 @property 2355 def D11(self) -> bool: 2356 return self._Entity.D11 2357 2358 @property 2359 def D22(self) -> bool: 2360 return self._Entity.D22 2361 2362 @property 2363 def D33(self) -> bool: 2364 return self._Entity.D33 2365 2366 @property 2367 def EA(self) -> bool: 2368 return self._Entity.EA 2369 2370 @property 2371 def EI1(self) -> bool: 2372 return self._Entity.EI1 2373 2374 @property 2375 def EI2(self) -> bool: 2376 return self._Entity.EI2 2377 2378 @property 2379 def GJ(self) -> bool: 2380 return self._Entity.GJ 2381 2382 @property 2383 def IsActive(self) -> bool: 2384 return self._Entity.IsActive 2385 2386 @Set.setter 2387 def Set(self, value: str) -> None: 2388 self._Entity.Set = value 2389 2390 @Limit.setter 2391 def Limit(self, value: float) -> None: 2392 self._Entity.Limit = value 2393 2394 @A11.setter 2395 def A11(self, value: bool) -> None: 2396 self._Entity.A11 = value 2397 2398 @A22.setter 2399 def A22(self, value: bool) -> None: 2400 self._Entity.A22 = value 2401 2402 @A33.setter 2403 def A33(self, value: bool) -> None: 2404 self._Entity.A33 = value 2405 2406 @D11.setter 2407 def D11(self, value: bool) -> None: 2408 self._Entity.D11 = value 2409 2410 @D22.setter 2411 def D22(self, value: bool) -> None: 2412 self._Entity.D22 = value 2413 2414 @D33.setter 2415 def D33(self, value: bool) -> None: 2416 self._Entity.D33 = value 2417 2418 @EA.setter 2419 def EA(self, value: bool) -> None: 2420 self._Entity.EA = value 2421 2422 @EI1.setter 2423 def EI1(self, value: bool) -> None: 2424 self._Entity.EI1 = value 2425 2426 @EI2.setter 2427 def EI2(self, value: bool) -> None: 2428 self._Entity.EI2 = value 2429 2430 @GJ.setter 2431 def GJ(self, value: bool) -> None: 2432 self._Entity.GJ = value 2433 2434 @IsActive.setter 2435 def IsActive(self, value: bool) -> None: 2436 self._Entity.IsActive = value 2437 2438 2439class ManualConstraintWithDesignLoad(ManualConstraint): 2440 def __init__(self, manualConstraintWithDesignLoad: _api.ManualConstraintWithDesignLoad): 2441 self._Entity = manualConstraintWithDesignLoad 2442 2443 @property 2444 def UseAllDesignLoads(self) -> bool: 2445 return self._Entity.UseAllDesignLoads 2446 2447 @property 2448 def DesignLoadCase(self) -> str: 2449 return self._Entity.DesignLoadCase 2450 2451 @UseAllDesignLoads.setter 2452 def UseAllDesignLoads(self, value: bool) -> None: 2453 self._Entity.UseAllDesignLoads = value 2454 2455 @DesignLoadCase.setter 2456 def DesignLoadCase(self, value: str) -> None: 2457 self._Entity.DesignLoadCase = value 2458 2459 2460class BucklingManualConstraint(ManualConstraintWithDesignLoad): 2461 def __init__(self, bucklingManualConstraint: _api.BucklingManualConstraint): 2462 self._Entity = bucklingManualConstraint 2463 2464 2465class DisplacementManualConstraint(ManualConstraintWithDesignLoad): 2466 def __init__(self, displacementManualConstraint: _api.DisplacementManualConstraint): 2467 self._Entity = displacementManualConstraint 2468 2469 @property 2470 def DOF(self) -> types.DegreeOfFreedom: 2471 return types.DegreeOfFreedom[self._Entity.DOF.ToString()] 2472 2473 @property 2474 def Nodes(self) -> list[int]: 2475 return [int32 for int32 in self._Entity.Nodes] 2476 2477 @property 2478 def RefNodes(self) -> list[int]: 2479 return [int32 for int32 in self._Entity.RefNodes] 2480 2481 @DOF.setter 2482 def DOF(self, value: types.DegreeOfFreedom) -> None: 2483 self._Entity.DOF = _types.DegreeOfFreedom(value.value) 2484 2485 def AddNodes(self, ids: list[int]) -> None: 2486 idsList = MakeCSharpIntList(ids) 2487 return self._Entity.AddNodes(idsList) 2488 2489 def RemoveNodes(self, ids: list[int]) -> None: 2490 idsList = MakeCSharpIntList(ids) 2491 return self._Entity.RemoveNodes(idsList) 2492 2493 def AddRefNodes(self, ids: list[int]) -> None: 2494 idsList = MakeCSharpIntList(ids) 2495 return self._Entity.AddRefNodes(idsList) 2496 2497 def RemoveRefNodes(self, ids: list[int]) -> None: 2498 idsList = MakeCSharpIntList(ids) 2499 return self._Entity.RemoveRefNodes(idsList) 2500 2501 2502class FrequencyManualConstraint(ManualConstraintWithDesignLoad): 2503 def __init__(self, frequencyManualConstraint: _api.FrequencyManualConstraint): 2504 self._Entity = frequencyManualConstraint 2505 2506 2507class StaticMomentManualConstraint(ManualConstraint): 2508 def __init__(self, staticMomentManualConstraint: _api.StaticMomentManualConstraint): 2509 self._Entity = staticMomentManualConstraint 2510 2511 2512class AutomatedConstraintCol(IdNameEntityCol[AutomatedConstraint]): 2513 def __init__(self, automatedConstraintCol: _api.AutomatedConstraintCol): 2514 self._Entity = automatedConstraintCol 2515 self._CollectedClass = AutomatedConstraint 2516 2517 @property 2518 def AutomatedConstraintColList(self) -> tuple[AutomatedConstraint]: 2519 return tuple([AutomatedConstraint(automatedConstraintCol) for automatedConstraintCol in self._Entity]) 2520 2521 def AddBucklingConstraint(self, designLoads: list[str], eigenvalue: float, name: str = None) -> BucklingAutomatedConstraint: 2522 designLoadsList = List[str]() 2523 if designLoads is not None: 2524 for thing in designLoads: 2525 if thing is not None: 2526 designLoadsList.Add(thing) 2527 return BucklingAutomatedConstraint(self._Entity.AddBucklingConstraint(designLoadsList, eigenvalue, name)) 2528 2529 def AddFrequencyConstraint(self, designLoads: list[str], eigenvalue: float, name: str = None) -> FrequencyAutomatedConstraint: 2530 designLoadsList = List[str]() 2531 if designLoads is not None: 2532 for thing in designLoads: 2533 if thing is not None: 2534 designLoadsList.Add(thing) 2535 return FrequencyAutomatedConstraint(self._Entity.AddFrequencyConstraint(designLoadsList, eigenvalue, name)) 2536 2537 def AddDisplacementConstraint(self, designLoads: list[str], gridId: int, limit: float, name: str = None) -> DisplacementAutomatedConstraint: 2538 designLoadsList = List[str]() 2539 if designLoads is not None: 2540 for thing in designLoads: 2541 if thing is not None: 2542 designLoadsList.Add(thing) 2543 return DisplacementAutomatedConstraint(self._Entity.AddDisplacementConstraint(designLoadsList, gridId, limit, name)) 2544 2545 def AddRotationConstraint(self, designLoads: list[str], gridId: int, limit: float, name: str = None) -> RotationAutomatedConstraint: 2546 designLoadsList = List[str]() 2547 if designLoads is not None: 2548 for thing in designLoads: 2549 if thing is not None: 2550 designLoadsList.Add(thing) 2551 return RotationAutomatedConstraint(self._Entity.AddRotationConstraint(designLoadsList, gridId, limit, name)) 2552 2553 @overload 2554 def Delete(self, id: int) -> bool: ... 2555 2556 @overload 2557 def Delete(self, name: str) -> bool: ... 2558 2559 @overload 2560 def GetBuckling(self, id: int) -> BucklingAutomatedConstraint: ... 2561 2562 @overload 2563 def GetBuckling(self, name: str) -> BucklingAutomatedConstraint: ... 2564 2565 @overload 2566 def GetFrequency(self, id: int) -> FrequencyAutomatedConstraint: ... 2567 2568 @overload 2569 def GetFrequency(self, name: str) -> FrequencyAutomatedConstraint: ... 2570 2571 @overload 2572 def GetRotation(self, id: int) -> RotationAutomatedConstraint: ... 2573 2574 @overload 2575 def GetRotation(self, name: str) -> RotationAutomatedConstraint: ... 2576 2577 @overload 2578 def GetDisplacement(self, id: int) -> DisplacementAutomatedConstraint: ... 2579 2580 @overload 2581 def GetDisplacement(self, name: str) -> DisplacementAutomatedConstraint: ... 2582 2583 @overload 2584 def Get(self, name: str) -> AutomatedConstraint: ... 2585 2586 @overload 2587 def Get(self, id: int) -> AutomatedConstraint: ... 2588 2589 def Delete(self, item1 = None) -> bool: 2590 if isinstance(item1, int): 2591 return self._Entity.Delete(item1) 2592 2593 if isinstance(item1, str): 2594 return self._Entity.Delete(item1) 2595 2596 return self._Entity.Delete(item1) 2597 2598 def GetBuckling(self, item1 = None) -> BucklingAutomatedConstraint: 2599 if isinstance(item1, int): 2600 return BucklingAutomatedConstraint(self._Entity.GetBuckling(item1)) 2601 2602 if isinstance(item1, str): 2603 return BucklingAutomatedConstraint(self._Entity.GetBuckling(item1)) 2604 2605 return BucklingAutomatedConstraint(self._Entity.GetBuckling(item1)) 2606 2607 def GetFrequency(self, item1 = None) -> FrequencyAutomatedConstraint: 2608 if isinstance(item1, int): 2609 return FrequencyAutomatedConstraint(self._Entity.GetFrequency(item1)) 2610 2611 if isinstance(item1, str): 2612 return FrequencyAutomatedConstraint(self._Entity.GetFrequency(item1)) 2613 2614 return FrequencyAutomatedConstraint(self._Entity.GetFrequency(item1)) 2615 2616 def GetRotation(self, item1 = None) -> RotationAutomatedConstraint: 2617 if isinstance(item1, int): 2618 return RotationAutomatedConstraint(self._Entity.GetRotation(item1)) 2619 2620 if isinstance(item1, str): 2621 return RotationAutomatedConstraint(self._Entity.GetRotation(item1)) 2622 2623 return RotationAutomatedConstraint(self._Entity.GetRotation(item1)) 2624 2625 def GetDisplacement(self, item1 = None) -> DisplacementAutomatedConstraint: 2626 if isinstance(item1, int): 2627 return DisplacementAutomatedConstraint(self._Entity.GetDisplacement(item1)) 2628 2629 if isinstance(item1, str): 2630 return DisplacementAutomatedConstraint(self._Entity.GetDisplacement(item1)) 2631 2632 return DisplacementAutomatedConstraint(self._Entity.GetDisplacement(item1)) 2633 2634 def Get(self, item1 = None) -> AutomatedConstraint: 2635 if isinstance(item1, str): 2636 return AutomatedConstraint(super().Get(item1)) 2637 2638 if isinstance(item1, int): 2639 return AutomatedConstraint(super().Get(item1)) 2640 2641 result = self._Entity.Get(item1) 2642 thisClass = type(result).__name__ 2643 givenClass = AutomatedConstraint 2644 for subclass in AutomatedConstraint.__subclasses__(): 2645 if subclass.__name__ == thisClass: 2646 givenClass = subclass 2647 return givenClass(result) 2648 2649 def __getitem__(self, index: int): 2650 return self.AutomatedConstraintColList[index] 2651 2652 def __iter__(self): 2653 yield from self.AutomatedConstraintColList 2654 2655 def __len__(self): 2656 return len(self.AutomatedConstraintColList) 2657 2658 2659class ManualConstraintCol(IdNameEntityCol[ManualConstraint]): 2660 def __init__(self, manualConstraintCol: _api.ManualConstraintCol): 2661 self._Entity = manualConstraintCol 2662 self._CollectedClass = ManualConstraint 2663 2664 @property 2665 def ManualConstraintColList(self) -> tuple[ManualConstraint]: 2666 return tuple([ManualConstraint(manualConstraintCol) for manualConstraintCol in self._Entity]) 2667 2668 @overload 2669 def GetFrequency(self, id: int) -> FrequencyManualConstraint: ... 2670 2671 @overload 2672 def GetFrequency(self, name: str) -> FrequencyManualConstraint: ... 2673 2674 @overload 2675 def GetBuckling(self, id: int) -> BucklingManualConstraint: ... 2676 2677 @overload 2678 def GetBuckling(self, name: str) -> BucklingManualConstraint: ... 2679 2680 @overload 2681 def GetDisplacement(self, id: int) -> DisplacementManualConstraint: ... 2682 2683 @overload 2684 def GetDisplacement(self, name: str) -> DisplacementManualConstraint: ... 2685 2686 @overload 2687 def GetStaticMoment(self, id: int) -> StaticMomentManualConstraint: ... 2688 2689 @overload 2690 def GetStaticMoment(self, name: str) -> StaticMomentManualConstraint: ... 2691 2692 def AddFrequencyConstraint(self, setName: str, limit: float, name: str = None) -> FrequencyManualConstraint: 2693 ''' 2694 Add a Manual Constraint of type Frequency. 2695 ''' 2696 return FrequencyManualConstraint(self._Entity.AddFrequencyConstraint(setName, limit, name)) 2697 2698 def AddBucklingConstraint(self, setName: str, limit: float, name: str = None) -> BucklingManualConstraint: 2699 ''' 2700 Add a Manual Constraint of type Buckling. 2701 ''' 2702 return BucklingManualConstraint(self._Entity.AddBucklingConstraint(setName, limit, name)) 2703 2704 def AddStaticMomentManualConstraint(self, setName: str, limit: float, name: str = None) -> StaticMomentManualConstraint: 2705 ''' 2706 Add a Manual Constraint of type Static Moment. 2707 ''' 2708 return StaticMomentManualConstraint(self._Entity.AddStaticMomentManualConstraint(setName, limit, name)) 2709 2710 def AddDisplacementConstraint(self, setName: str, gridIds: list[int], limit: float, name: str = None) -> DisplacementManualConstraint: 2711 gridIdsList = MakeCSharpIntList(gridIds) 2712 return DisplacementManualConstraint(self._Entity.AddDisplacementConstraint(setName, gridIdsList, limit, name)) 2713 2714 @overload 2715 def DeleteConstraint(self, name: str) -> bool: ... 2716 2717 @overload 2718 def DeleteConstraint(self, id: int) -> bool: ... 2719 2720 @overload 2721 def Get(self, name: str) -> ManualConstraint: ... 2722 2723 @overload 2724 def Get(self, id: int) -> ManualConstraint: ... 2725 2726 def GetFrequency(self, item1 = None) -> FrequencyManualConstraint: 2727 if isinstance(item1, int): 2728 return FrequencyManualConstraint(self._Entity.GetFrequency(item1)) 2729 2730 if isinstance(item1, str): 2731 return FrequencyManualConstraint(self._Entity.GetFrequency(item1)) 2732 2733 return FrequencyManualConstraint(self._Entity.GetFrequency(item1)) 2734 2735 def GetBuckling(self, item1 = None) -> BucklingManualConstraint: 2736 if isinstance(item1, int): 2737 return BucklingManualConstraint(self._Entity.GetBuckling(item1)) 2738 2739 if isinstance(item1, str): 2740 return BucklingManualConstraint(self._Entity.GetBuckling(item1)) 2741 2742 return BucklingManualConstraint(self._Entity.GetBuckling(item1)) 2743 2744 def GetDisplacement(self, item1 = None) -> DisplacementManualConstraint: 2745 if isinstance(item1, int): 2746 return DisplacementManualConstraint(self._Entity.GetDisplacement(item1)) 2747 2748 if isinstance(item1, str): 2749 return DisplacementManualConstraint(self._Entity.GetDisplacement(item1)) 2750 2751 return DisplacementManualConstraint(self._Entity.GetDisplacement(item1)) 2752 2753 def GetStaticMoment(self, item1 = None) -> StaticMomentManualConstraint: 2754 if isinstance(item1, int): 2755 return StaticMomentManualConstraint(self._Entity.GetStaticMoment(item1)) 2756 2757 if isinstance(item1, str): 2758 return StaticMomentManualConstraint(self._Entity.GetStaticMoment(item1)) 2759 2760 return StaticMomentManualConstraint(self._Entity.GetStaticMoment(item1)) 2761 2762 def DeleteConstraint(self, item1 = None) -> bool: 2763 if isinstance(item1, str): 2764 return self._Entity.DeleteConstraint(item1) 2765 2766 if isinstance(item1, int): 2767 return self._Entity.DeleteConstraint(item1) 2768 2769 return self._Entity.DeleteConstraint(item1) 2770 2771 def Get(self, item1 = None) -> ManualConstraint: 2772 if isinstance(item1, str): 2773 return ManualConstraint(super().Get(item1)) 2774 2775 if isinstance(item1, int): 2776 return ManualConstraint(super().Get(item1)) 2777 2778 return ManualConstraint(self._Entity.Get(item1)) 2779 2780 def __getitem__(self, index: int): 2781 return self.ManualConstraintColList[index] 2782 2783 def __iter__(self): 2784 yield from self.ManualConstraintColList 2785 2786 def __len__(self): 2787 return len(self.ManualConstraintColList) 2788 2789 2790class HyperFea: 2791 def __init__(self, hyperFea: _api.HyperFea): 2792 self._Entity = hyperFea 2793 2794 @property 2795 def ManualConstraints(self) -> ManualConstraintCol: 2796 result = self._Entity.ManualConstraints 2797 return ManualConstraintCol(result) if result is not None else None 2798 2799 @property 2800 def AutomatedConstraints(self) -> AutomatedConstraintCol: 2801 result = self._Entity.AutomatedConstraints 2802 return AutomatedConstraintCol(result) if result is not None else None 2803 2804 def RunIterations(self, numberOfIterations: int, startWithSizing: bool) -> None: 2805 ''' 2806 Run HyperFEA. 2807 ''' 2808 return self._Entity.RunIterations(numberOfIterations, startWithSizing) 2809 2810 def SetupSolver(self, solverPath: str, arguments: str) -> types.SimpleStatus: 2811 ''' 2812 Setup FEA solver. 2813 ''' 2814 return types.SimpleStatus(self._Entity.SetupSolver(solverPath, arguments)) 2815 2816 def TestSolver(self) -> types.SimpleStatus: 2817 ''' 2818 Test FEA solver setup. 2819 ''' 2820 return types.SimpleStatus(self._Entity.TestSolver()) 2821 2822 def GetSolverSetup(self) -> types.HyperFeaSolver: 2823 ''' 2824 Get the current FEA solver setup. 2825 ''' 2826 return types.HyperFeaSolver(self._Entity.GetSolverSetup()) 2827 2828 2829class FoamTemperature: 2830 ''' 2831 Foam material temperature dependent properties. 2832 ''' 2833 def __init__(self, foamTemperature: _api.FoamTemperature): 2834 self._Entity = foamTemperature 2835 2836 @property 2837 def Temperature(self) -> float: 2838 return self._Entity.Temperature 2839 2840 @property 2841 def Et(self) -> float: 2842 return self._Entity.Et 2843 2844 @property 2845 def Ec(self) -> float: 2846 return self._Entity.Ec 2847 2848 @property 2849 def G(self) -> float: 2850 return self._Entity.G 2851 2852 @property 2853 def Ef(self) -> float: 2854 return self._Entity.Ef 2855 2856 @property 2857 def Ftu(self) -> float: 2858 return self._Entity.Ftu 2859 2860 @property 2861 def Fcu(self) -> float: 2862 return self._Entity.Fcu 2863 2864 @property 2865 def Fsu(self) -> float: 2866 return self._Entity.Fsu 2867 2868 @property 2869 def Ffu(self) -> float: 2870 return self._Entity.Ffu 2871 2872 @property 2873 def K(self) -> float: 2874 return self._Entity.K 2875 2876 @property 2877 def C(self) -> float: 2878 return self._Entity.C 2879 2880 @Temperature.setter 2881 def Temperature(self, value: float) -> None: 2882 self._Entity.Temperature = value 2883 2884 @Et.setter 2885 def Et(self, value: float) -> None: 2886 self._Entity.Et = value 2887 2888 @Ec.setter 2889 def Ec(self, value: float) -> None: 2890 self._Entity.Ec = value 2891 2892 @G.setter 2893 def G(self, value: float) -> None: 2894 self._Entity.G = value 2895 2896 @Ef.setter 2897 def Ef(self, value: float) -> None: 2898 self._Entity.Ef = value 2899 2900 @Ftu.setter 2901 def Ftu(self, value: float) -> None: 2902 self._Entity.Ftu = value 2903 2904 @Fcu.setter 2905 def Fcu(self, value: float) -> None: 2906 self._Entity.Fcu = value 2907 2908 @Fsu.setter 2909 def Fsu(self, value: float) -> None: 2910 self._Entity.Fsu = value 2911 2912 @Ffu.setter 2913 def Ffu(self, value: float) -> None: 2914 self._Entity.Ffu = value 2915 2916 @K.setter 2917 def K(self, value: float) -> None: 2918 self._Entity.K = value 2919 2920 @C.setter 2921 def C(self, value: float) -> None: 2922 self._Entity.C = value 2923 2924 2925class Foam: 2926 ''' 2927 Foam material. 2928 ''' 2929 def __init__(self, foam: _api.Foam): 2930 self._Entity = foam 2931 2932 @property 2933 def MaterialFamilyName(self) -> str: 2934 return self._Entity.MaterialFamilyName 2935 2936 @property 2937 def Id(self) -> int: 2938 return self._Entity.Id 2939 2940 @property 2941 def CreationDate(self) -> DateTime: 2942 return self._Entity.CreationDate 2943 2944 @property 2945 def ModificationDate(self) -> DateTime: 2946 return self._Entity.ModificationDate 2947 2948 @property 2949 def Name(self) -> str: 2950 return self._Entity.Name 2951 2952 @property 2953 def Wet(self) -> bool: 2954 return self._Entity.Wet 2955 2956 @property 2957 def Density(self) -> float: 2958 return self._Entity.Density 2959 2960 @property 2961 def Form(self) -> str: 2962 return self._Entity.Form 2963 2964 @property 2965 def Specification(self) -> str: 2966 return self._Entity.Specification 2967 2968 @property 2969 def MaterialDescription(self) -> str: 2970 return self._Entity.MaterialDescription 2971 2972 @property 2973 def UserNote(self) -> str: 2974 return self._Entity.UserNote 2975 2976 @property 2977 def FemMaterialId(self) -> int: 2978 return self._Entity.FemMaterialId 2979 2980 @property 2981 def Cost(self) -> float: 2982 return self._Entity.Cost 2983 2984 @property 2985 def BucklingStiffnessKnockdown(self) -> float: 2986 return self._Entity.BucklingStiffnessKnockdown 2987 2988 @property 2989 def Absorption(self) -> float: 2990 return self._Entity.Absorption 2991 2992 @property 2993 def Manufacturer(self) -> str: 2994 return self._Entity.Manufacturer 2995 2996 @property 2997 def FoamTemperatureProperties(self) -> list[FoamTemperature]: 2998 return [FoamTemperature(foamTemperature) for foamTemperature in self._Entity.FoamTemperatureProperties] 2999 3000 @MaterialFamilyName.setter 3001 def MaterialFamilyName(self, value: str) -> None: 3002 self._Entity.MaterialFamilyName = value 3003 3004 @Name.setter 3005 def Name(self, value: str) -> None: 3006 self._Entity.Name = value 3007 3008 @Wet.setter 3009 def Wet(self, value: bool) -> None: 3010 self._Entity.Wet = value 3011 3012 @Density.setter 3013 def Density(self, value: float) -> None: 3014 self._Entity.Density = value 3015 3016 @Form.setter 3017 def Form(self, value: str) -> None: 3018 self._Entity.Form = value 3019 3020 @Specification.setter 3021 def Specification(self, value: str) -> None: 3022 self._Entity.Specification = value 3023 3024 @MaterialDescription.setter 3025 def MaterialDescription(self, value: str) -> None: 3026 self._Entity.MaterialDescription = value 3027 3028 @UserNote.setter 3029 def UserNote(self, value: str) -> None: 3030 self._Entity.UserNote = value 3031 3032 @FemMaterialId.setter 3033 def FemMaterialId(self, value: int) -> None: 3034 self._Entity.FemMaterialId = value 3035 3036 @Cost.setter 3037 def Cost(self, value: float) -> None: 3038 self._Entity.Cost = value 3039 3040 @BucklingStiffnessKnockdown.setter 3041 def BucklingStiffnessKnockdown(self, value: float) -> None: 3042 self._Entity.BucklingStiffnessKnockdown = value 3043 3044 @Absorption.setter 3045 def Absorption(self, value: float) -> None: 3046 self._Entity.Absorption = value 3047 3048 @Manufacturer.setter 3049 def Manufacturer(self, value: str) -> None: 3050 self._Entity.Manufacturer = value 3051 3052 def AddTemperatureProperty(self, temperature: float, et: float, ec: float, g: float, ftu: float, fcu: float, fsu: float, ef: float = None, ffu: float = None, k: float = None, c: float = None) -> FoamTemperature: 3053 return FoamTemperature(self._Entity.AddTemperatureProperty(temperature, et, ec, g, ftu, fcu, fsu, ef, ffu, k, c)) 3054 3055 def DeleteTemperatureProperty(self, temperature: float) -> bool: 3056 ''' 3057 Deletes a temperature-dependent property for a material. 3058 ''' 3059 return self._Entity.DeleteTemperatureProperty(temperature) 3060 3061 def GetTemperature(self, lookupTemperature: float) -> FoamTemperature: 3062 ''' 3063 Retrieve a Temperature from this material's temperature-dependent properties. Allows a degree of tolerance to avoid issues with floating point numbers. 3064 :param LookupTemperature: Temperature to search for. 3065 ''' 3066 return FoamTemperature(self._Entity.GetTemperature(lookupTemperature)) 3067 3068 def Save(self) -> None: 3069 ''' 3070 Save any changes to this foam material to the database. 3071 ''' 3072 return self._Entity.Save() 3073 3074 3075class HoneycombTemperature: 3076 ''' 3077 Honeycomb material temperature dependent properties. 3078 ''' 3079 def __init__(self, honeycombTemperature: _api.HoneycombTemperature): 3080 self._Entity = honeycombTemperature 3081 3082 @property 3083 def Temperature(self) -> float: 3084 return self._Entity.Temperature 3085 3086 @property 3087 def Et(self) -> float: 3088 return self._Entity.Et 3089 3090 @property 3091 def Ec(self) -> float: 3092 return self._Entity.Ec 3093 3094 @property 3095 def Gw(self) -> float: 3096 return self._Entity.Gw 3097 3098 @property 3099 def Gl(self) -> float: 3100 return self._Entity.Gl 3101 3102 @property 3103 def Ftu(self) -> float: 3104 return self._Entity.Ftu 3105 3106 @property 3107 def Fcus(self) -> float: 3108 return self._Entity.Fcus 3109 3110 @property 3111 def Fcub(self) -> float: 3112 return self._Entity.Fcub 3113 3114 @property 3115 def Fcuc(self) -> float: 3116 return self._Entity.Fcuc 3117 3118 @property 3119 def Fsuw(self) -> float: 3120 return self._Entity.Fsuw 3121 3122 @property 3123 def Fsul(self) -> float: 3124 return self._Entity.Fsul 3125 3126 @property 3127 def SScfl(self) -> float: 3128 return self._Entity.SScfl 3129 3130 @property 3131 def SScfh(self) -> float: 3132 return self._Entity.SScfh 3133 3134 @property 3135 def Kl(self) -> float: 3136 return self._Entity.Kl 3137 3138 @property 3139 def Kw(self) -> float: 3140 return self._Entity.Kw 3141 3142 @property 3143 def Kt(self) -> float: 3144 return self._Entity.Kt 3145 3146 @property 3147 def C(self) -> float: 3148 return self._Entity.C 3149 3150 @Temperature.setter 3151 def Temperature(self, value: float) -> None: 3152 self._Entity.Temperature = value 3153 3154 @Et.setter 3155 def Et(self, value: float) -> None: 3156 self._Entity.Et = value 3157 3158 @Ec.setter 3159 def Ec(self, value: float) -> None: 3160 self._Entity.Ec = value 3161 3162 @Gw.setter 3163 def Gw(self, value: float) -> None: 3164 self._Entity.Gw = value 3165 3166 @Gl.setter 3167 def Gl(self, value: float) -> None: 3168 self._Entity.Gl = value 3169 3170 @Ftu.setter 3171 def Ftu(self, value: float) -> None: 3172 self._Entity.Ftu = value 3173 3174 @Fcus.setter 3175 def Fcus(self, value: float) -> None: 3176 self._Entity.Fcus = value 3177 3178 @Fcub.setter 3179 def Fcub(self, value: float) -> None: 3180 self._Entity.Fcub = value 3181 3182 @Fcuc.setter 3183 def Fcuc(self, value: float) -> None: 3184 self._Entity.Fcuc = value 3185 3186 @Fsuw.setter 3187 def Fsuw(self, value: float) -> None: 3188 self._Entity.Fsuw = value 3189 3190 @Fsul.setter 3191 def Fsul(self, value: float) -> None: 3192 self._Entity.Fsul = value 3193 3194 @SScfl.setter 3195 def SScfl(self, value: float) -> None: 3196 self._Entity.SScfl = value 3197 3198 @SScfh.setter 3199 def SScfh(self, value: float) -> None: 3200 self._Entity.SScfh = value 3201 3202 @Kl.setter 3203 def Kl(self, value: float) -> None: 3204 self._Entity.Kl = value 3205 3206 @Kw.setter 3207 def Kw(self, value: float) -> None: 3208 self._Entity.Kw = value 3209 3210 @Kt.setter 3211 def Kt(self, value: float) -> None: 3212 self._Entity.Kt = value 3213 3214 @C.setter 3215 def C(self, value: float) -> None: 3216 self._Entity.C = value 3217 3218 3219class Honeycomb: 3220 ''' 3221 Honeycomb material. 3222 ''' 3223 def __init__(self, honeycomb: _api.Honeycomb): 3224 self._Entity = honeycomb 3225 3226 @property 3227 def MaterialFamilyName(self) -> str: 3228 return self._Entity.MaterialFamilyName 3229 3230 @property 3231 def Id(self) -> int: 3232 return self._Entity.Id 3233 3234 @property 3235 def CreationDate(self) -> DateTime: 3236 return self._Entity.CreationDate 3237 3238 @property 3239 def ModificationDate(self) -> DateTime: 3240 return self._Entity.ModificationDate 3241 3242 @property 3243 def Name(self) -> str: 3244 return self._Entity.Name 3245 3246 @property 3247 def Wet(self) -> bool: 3248 return self._Entity.Wet 3249 3250 @property 3251 def Density(self) -> float: 3252 return self._Entity.Density 3253 3254 @property 3255 def Form(self) -> str: 3256 return self._Entity.Form 3257 3258 @property 3259 def Specification(self) -> str: 3260 return self._Entity.Specification 3261 3262 @property 3263 def MaterialDescription(self) -> str: 3264 return self._Entity.MaterialDescription 3265 3266 @property 3267 def UserNote(self) -> str: 3268 return self._Entity.UserNote 3269 3270 @property 3271 def FemMaterialId(self) -> int: 3272 return self._Entity.FemMaterialId 3273 3274 @property 3275 def Cost(self) -> float: 3276 return self._Entity.Cost 3277 3278 @property 3279 def CellSize(self) -> float: 3280 return self._Entity.CellSize 3281 3282 @property 3283 def Manufacturer(self) -> str: 3284 return self._Entity.Manufacturer 3285 3286 @property 3287 def HoneycombTemperatureProperties(self) -> list[HoneycombTemperature]: 3288 return [HoneycombTemperature(honeycombTemperature) for honeycombTemperature in self._Entity.HoneycombTemperatureProperties] 3289 3290 @MaterialFamilyName.setter 3291 def MaterialFamilyName(self, value: str) -> None: 3292 self._Entity.MaterialFamilyName = value 3293 3294 @Name.setter 3295 def Name(self, value: str) -> None: 3296 self._Entity.Name = value 3297 3298 @Wet.setter 3299 def Wet(self, value: bool) -> None: 3300 self._Entity.Wet = value 3301 3302 @Density.setter 3303 def Density(self, value: float) -> None: 3304 self._Entity.Density = value 3305 3306 @Form.setter 3307 def Form(self, value: str) -> None: 3308 self._Entity.Form = value 3309 3310 @Specification.setter 3311 def Specification(self, value: str) -> None: 3312 self._Entity.Specification = value 3313 3314 @MaterialDescription.setter 3315 def MaterialDescription(self, value: str) -> None: 3316 self._Entity.MaterialDescription = value 3317 3318 @UserNote.setter 3319 def UserNote(self, value: str) -> None: 3320 self._Entity.UserNote = value 3321 3322 @FemMaterialId.setter 3323 def FemMaterialId(self, value: int) -> None: 3324 self._Entity.FemMaterialId = value 3325 3326 @Cost.setter 3327 def Cost(self, value: float) -> None: 3328 self._Entity.Cost = value 3329 3330 @CellSize.setter 3331 def CellSize(self, value: float) -> None: 3332 self._Entity.CellSize = value 3333 3334 @Manufacturer.setter 3335 def Manufacturer(self, value: str) -> None: 3336 self._Entity.Manufacturer = value 3337 3338 def AddTemperatureProperty(self, temperature: float, et: float, ec: float, gw: float, gl: float, ftu: float, fcus: float, fcub: float, fcuc: float, fsuw: float, fsul: float, sScfl: float = None, sScfh: float = None, k1: float = None, k2: float = None, k3: float = None, c: float = None) -> HoneycombTemperature: 3339 return HoneycombTemperature(self._Entity.AddTemperatureProperty(temperature, et, ec, gw, gl, ftu, fcus, fcub, fcuc, fsuw, fsul, sScfl, sScfh, k1, k2, k3, c)) 3340 3341 def DeleteTemperatureProperty(self, temperature: float) -> bool: 3342 ''' 3343 Deletes a temperature-dependent property for a material. 3344 ''' 3345 return self._Entity.DeleteTemperatureProperty(temperature) 3346 3347 def GetTemperature(self, lookupTemperature: float) -> HoneycombTemperature: 3348 ''' 3349 Retrieve a Temperature from this material's temperature-dependent properties. Allows a degree of tolerance to avoid issues with floating point numbers. 3350 :param LookupTemperature: Temperature to search for. 3351 ''' 3352 return HoneycombTemperature(self._Entity.GetTemperature(lookupTemperature)) 3353 3354 def Save(self) -> None: 3355 ''' 3356 Save any changes to this honeycomb material to the database. 3357 ''' 3358 return self._Entity.Save() 3359 3360 3361class IsotropicTemperature: 3362 ''' 3363 Isotropic material temperature dependent properties. 3364 ''' 3365 def __init__(self, isotropicTemperature: _api.IsotropicTemperature): 3366 self._Entity = isotropicTemperature 3367 3368 @property 3369 def Temperature(self) -> float: 3370 return self._Entity.Temperature 3371 3372 @property 3373 def Et(self) -> float: 3374 return self._Entity.Et 3375 3376 @property 3377 def Ec(self) -> float: 3378 return self._Entity.Ec 3379 3380 @property 3381 def G(self) -> float: 3382 return self._Entity.G 3383 3384 @property 3385 def n(self) -> float: 3386 return self._Entity.n 3387 3388 @property 3389 def F02(self) -> float: 3390 return self._Entity.F02 3391 3392 @property 3393 def FtuL(self) -> float: 3394 return self._Entity.FtuL 3395 3396 @property 3397 def FtyL(self) -> float: 3398 return self._Entity.FtyL 3399 3400 @property 3401 def FcyL(self) -> float: 3402 return self._Entity.FcyL 3403 3404 @property 3405 def FtuLT(self) -> float: 3406 return self._Entity.FtuLT 3407 3408 @property 3409 def FtyLT(self) -> float: 3410 return self._Entity.FtyLT 3411 3412 @property 3413 def FcyLT(self) -> float: 3414 return self._Entity.FcyLT 3415 3416 @property 3417 def Fsu(self) -> float: 3418 return self._Entity.Fsu 3419 3420 @property 3421 def Fbru15(self) -> float: 3422 return self._Entity.Fbru15 3423 3424 @property 3425 def Fbry15(self) -> float: 3426 return self._Entity.Fbry15 3427 3428 @property 3429 def Fbru20(self) -> float: 3430 return self._Entity.Fbru20 3431 3432 @property 3433 def Fbry20(self) -> float: 3434 return self._Entity.Fbry20 3435 3436 @property 3437 def alpha(self) -> float: 3438 return self._Entity.alpha 3439 3440 @property 3441 def K(self) -> float: 3442 return self._Entity.K 3443 3444 @property 3445 def C(self) -> float: 3446 return self._Entity.C 3447 3448 @property 3449 def etyL(self) -> float: 3450 return self._Entity.etyL 3451 3452 @property 3453 def ecyL(self) -> float: 3454 return self._Entity.ecyL 3455 3456 @property 3457 def etyLT(self) -> float: 3458 return self._Entity.etyLT 3459 3460 @property 3461 def ecyLT(self) -> float: 3462 return self._Entity.ecyLT 3463 3464 @property 3465 def esu(self) -> float: 3466 return self._Entity.esu 3467 3468 @property 3469 def Fpadh(self) -> float: 3470 return self._Entity.Fpadh 3471 3472 @property 3473 def Fsadh(self) -> float: 3474 return self._Entity.Fsadh 3475 3476 @property 3477 def esadh(self) -> float: 3478 return self._Entity.esadh 3479 3480 @property 3481 def cd(self) -> float: 3482 return self._Entity.cd 3483 3484 @property 3485 def Ffwt(self) -> float: 3486 return self._Entity.Ffwt 3487 3488 @property 3489 def Ffxz(self) -> float: 3490 return self._Entity.Ffxz 3491 3492 @property 3493 def Ffyz(self) -> float: 3494 return self._Entity.Ffyz 3495 3496 @property 3497 def FtFatigue(self) -> float: 3498 return self._Entity.FtFatigue 3499 3500 @property 3501 def FcFatigue(self) -> float: 3502 return self._Entity.FcFatigue 3503 3504 @Temperature.setter 3505 def Temperature(self, value: float) -> None: 3506 self._Entity.Temperature = value 3507 3508 @Et.setter 3509 def Et(self, value: float) -> None: 3510 self._Entity.Et = value 3511 3512 @Ec.setter 3513 def Ec(self, value: float) -> None: 3514 self._Entity.Ec = value 3515 3516 @G.setter 3517 def G(self, value: float) -> None: 3518 self._Entity.G = value 3519 3520 @n.setter 3521 def n(self, value: float) -> None: 3522 self._Entity.n = value 3523 3524 @F02.setter 3525 def F02(self, value: float) -> None: 3526 self._Entity.F02 = value 3527 3528 @FtuL.setter 3529 def FtuL(self, value: float) -> None: 3530 self._Entity.FtuL = value 3531 3532 @FtyL.setter 3533 def FtyL(self, value: float) -> None: 3534 self._Entity.FtyL = value 3535 3536 @FcyL.setter 3537 def FcyL(self, value: float) -> None: 3538 self._Entity.FcyL = value 3539 3540 @FtuLT.setter 3541 def FtuLT(self, value: float) -> None: 3542 self._Entity.FtuLT = value 3543 3544 @FtyLT.setter 3545 def FtyLT(self, value: float) -> None: 3546 self._Entity.FtyLT = value 3547 3548 @FcyLT.setter 3549 def FcyLT(self, value: float) -> None: 3550 self._Entity.FcyLT = value 3551 3552 @Fsu.setter 3553 def Fsu(self, value: float) -> None: 3554 self._Entity.Fsu = value 3555 3556 @Fbru15.setter 3557 def Fbru15(self, value: float) -> None: 3558 self._Entity.Fbru15 = value 3559 3560 @Fbry15.setter 3561 def Fbry15(self, value: float) -> None: 3562 self._Entity.Fbry15 = value 3563 3564 @Fbru20.setter 3565 def Fbru20(self, value: float) -> None: 3566 self._Entity.Fbru20 = value 3567 3568 @Fbry20.setter 3569 def Fbry20(self, value: float) -> None: 3570 self._Entity.Fbry20 = value 3571 3572 @alpha.setter 3573 def alpha(self, value: float) -> None: 3574 self._Entity.alpha = value 3575 3576 @K.setter 3577 def K(self, value: float) -> None: 3578 self._Entity.K = value 3579 3580 @C.setter 3581 def C(self, value: float) -> None: 3582 self._Entity.C = value 3583 3584 @etyL.setter 3585 def etyL(self, value: float) -> None: 3586 self._Entity.etyL = value 3587 3588 @ecyL.setter 3589 def ecyL(self, value: float) -> None: 3590 self._Entity.ecyL = value 3591 3592 @etyLT.setter 3593 def etyLT(self, value: float) -> None: 3594 self._Entity.etyLT = value 3595 3596 @ecyLT.setter 3597 def ecyLT(self, value: float) -> None: 3598 self._Entity.ecyLT = value 3599 3600 @esu.setter 3601 def esu(self, value: float) -> None: 3602 self._Entity.esu = value 3603 3604 @Fpadh.setter 3605 def Fpadh(self, value: float) -> None: 3606 self._Entity.Fpadh = value 3607 3608 @Fsadh.setter 3609 def Fsadh(self, value: float) -> None: 3610 self._Entity.Fsadh = value 3611 3612 @esadh.setter 3613 def esadh(self, value: float) -> None: 3614 self._Entity.esadh = value 3615 3616 @cd.setter 3617 def cd(self, value: float) -> None: 3618 self._Entity.cd = value 3619 3620 @Ffwt.setter 3621 def Ffwt(self, value: float) -> None: 3622 self._Entity.Ffwt = value 3623 3624 @Ffxz.setter 3625 def Ffxz(self, value: float) -> None: 3626 self._Entity.Ffxz = value 3627 3628 @Ffyz.setter 3629 def Ffyz(self, value: float) -> None: 3630 self._Entity.Ffyz = value 3631 3632 @FtFatigue.setter 3633 def FtFatigue(self, value: float) -> None: 3634 self._Entity.FtFatigue = value 3635 3636 @FcFatigue.setter 3637 def FcFatigue(self, value: float) -> None: 3638 self._Entity.FcFatigue = value 3639 3640 3641class Isotropic: 3642 ''' 3643 Isotropic material. 3644 ''' 3645 def __init__(self, isotropic: _api.Isotropic): 3646 self._Entity = isotropic 3647 3648 @property 3649 def MaterialFamilyName(self) -> str: 3650 return self._Entity.MaterialFamilyName 3651 3652 @property 3653 def Id(self) -> int: 3654 return self._Entity.Id 3655 3656 @property 3657 def CreationDate(self) -> DateTime: 3658 return self._Entity.CreationDate 3659 3660 @property 3661 def ModificationDate(self) -> DateTime: 3662 return self._Entity.ModificationDate 3663 3664 @property 3665 def Name(self) -> str: 3666 return self._Entity.Name 3667 3668 @property 3669 def Form(self) -> str: 3670 return self._Entity.Form 3671 3672 @property 3673 def Specification(self) -> str: 3674 return self._Entity.Specification 3675 3676 @property 3677 def Temper(self) -> str: 3678 return self._Entity.Temper 3679 3680 @property 3681 def Basis(self) -> str: 3682 return self._Entity.Basis 3683 3684 @property 3685 def Density(self) -> float: 3686 return self._Entity.Density 3687 3688 @property 3689 def MaterialDescription(self) -> str: 3690 return self._Entity.MaterialDescription 3691 3692 @property 3693 def UserNote(self) -> str: 3694 return self._Entity.UserNote 3695 3696 @property 3697 def FemMaterialId(self) -> int: 3698 return self._Entity.FemMaterialId 3699 3700 @property 3701 def Cost(self) -> float: 3702 return self._Entity.Cost 3703 3704 @property 3705 def BucklingStiffnessKnockdown(self) -> float: 3706 return self._Entity.BucklingStiffnessKnockdown 3707 3708 @property 3709 def IsotropicTemperatureProperties(self) -> list[IsotropicTemperature]: 3710 return [IsotropicTemperature(isotropicTemperature) for isotropicTemperature in self._Entity.IsotropicTemperatureProperties] 3711 3712 @MaterialFamilyName.setter 3713 def MaterialFamilyName(self, value: str) -> None: 3714 self._Entity.MaterialFamilyName = value 3715 3716 @Name.setter 3717 def Name(self, value: str) -> None: 3718 self._Entity.Name = value 3719 3720 @Form.setter 3721 def Form(self, value: str) -> None: 3722 self._Entity.Form = value 3723 3724 @Specification.setter 3725 def Specification(self, value: str) -> None: 3726 self._Entity.Specification = value 3727 3728 @Temper.setter 3729 def Temper(self, value: str) -> None: 3730 self._Entity.Temper = value 3731 3732 @Basis.setter 3733 def Basis(self, value: str) -> None: 3734 self._Entity.Basis = value 3735 3736 @Density.setter 3737 def Density(self, value: float) -> None: 3738 self._Entity.Density = value 3739 3740 @MaterialDescription.setter 3741 def MaterialDescription(self, value: str) -> None: 3742 self._Entity.MaterialDescription = value 3743 3744 @UserNote.setter 3745 def UserNote(self, value: str) -> None: 3746 self._Entity.UserNote = value 3747 3748 @FemMaterialId.setter 3749 def FemMaterialId(self, value: int) -> None: 3750 self._Entity.FemMaterialId = value 3751 3752 @Cost.setter 3753 def Cost(self, value: float) -> None: 3754 self._Entity.Cost = value 3755 3756 @BucklingStiffnessKnockdown.setter 3757 def BucklingStiffnessKnockdown(self, value: float) -> None: 3758 self._Entity.BucklingStiffnessKnockdown = value 3759 3760 def AddTemperatureProperty(self, temperature: float, et: float, ec: float, g: float, ftuL: float, ftyL: float, fcyL: float, ftuLT: float, ftyLT: float, fcyLT: float, fsu: float, alpha: float, n: float = None, f02: float = None, k: float = None, c: float = None, fbru15: float = None, fbry15: float = None, fbru20: float = None, fbry20: float = None, etyL: float = None, ecyL: float = None, etyLT: float = None, ecyLT: float = None, esu: float = None, fpadh: float = None, fsadh: float = None, esadh: float = None, cd: float = None, ffwt: float = None, ffxz: float = None, ffyz: float = None, ftFatigue: float = None, fcFatigue: float = None) -> IsotropicTemperature: 3761 return IsotropicTemperature(self._Entity.AddTemperatureProperty(temperature, et, ec, g, ftuL, ftyL, fcyL, ftuLT, ftyLT, fcyLT, fsu, alpha, n, f02, k, c, fbru15, fbry15, fbru20, fbry20, etyL, ecyL, etyLT, ecyLT, esu, fpadh, fsadh, esadh, cd, ffwt, ffxz, ffyz, ftFatigue, fcFatigue)) 3762 3763 def DeleteTemperatureProperty(self, temperature: float) -> bool: 3764 ''' 3765 Deletes a temperature-dependent property for a material. 3766 ''' 3767 return self._Entity.DeleteTemperatureProperty(temperature) 3768 3769 def GetTemperature(self, lookupTemperature: float) -> IsotropicTemperature: 3770 ''' 3771 Retrieve a Temperature from this material's temperature-dependent properties. Allows a degree of tolerance to avoid issues with floating point numbers. 3772 :param LookupTemperature: Temperature to search for. 3773 ''' 3774 return IsotropicTemperature(self._Entity.GetTemperature(lookupTemperature)) 3775 3776 def Save(self) -> None: 3777 ''' 3778 Save any changes to this isotropic material to the database. 3779 ''' 3780 return self._Entity.Save() 3781 3782 3783class LaminateBase(ABC): 3784 def __init__(self, laminateBase: _api.LaminateBase): 3785 self._Entity = laminateBase 3786 3787 @property 3788 def Id(self) -> int: 3789 return self._Entity.Id 3790 3791 @property 3792 def Name(self) -> str: 3793 return self._Entity.Name 3794 3795 @property 3796 def IsEditable(self) -> bool: 3797 return self._Entity.IsEditable 3798 3799 @property 3800 def MaterialFamilyName(self) -> str: 3801 return self._Entity.MaterialFamilyName 3802 3803 @property 3804 def LayerCount(self) -> int: 3805 return self._Entity.LayerCount 3806 3807 @property 3808 def Density(self) -> float: 3809 return self._Entity.Density 3810 3811 @property 3812 def Thickness(self) -> float: 3813 return self._Entity.Thickness 3814 3815 @property 3816 def LaminateFamilyId(self) -> int: 3817 return self._Entity.LaminateFamilyId 3818 3819 @property 3820 def LaminateFamilyOrder(self) -> int: 3821 return self._Entity.LaminateFamilyOrder 3822 3823 @property 3824 def HyperLaminate(self) -> bool: 3825 return self._Entity.HyperLaminate 3826 3827 @Name.setter 3828 def Name(self, value: str) -> None: 3829 self._Entity.Name = value 3830 3831 @MaterialFamilyName.setter 3832 def MaterialFamilyName(self, value: str) -> None: 3833 self._Entity.MaterialFamilyName = value 3834 3835 @abstractmethod 3836 def Save(self) -> None: 3837 ''' 3838 Save the laminate. 3839 ''' 3840 return self._Entity.Save() 3841 3842 3843class LaminateFamily(IdNameEntity): 3844 def __init__(self, laminateFamily: _api.LaminateFamily): 3845 self._Entity = laminateFamily 3846 3847 @property 3848 def Laminates(self) -> list[LaminateBase]: 3849 return [LaminateBase(laminateBase) for laminateBase in self._Entity.Laminates] 3850 3851 @property 3852 def ModificationDate(self) -> DateTime: 3853 return self._Entity.ModificationDate 3854 3855 @property 3856 def PlankSetting(self) -> types.LaminateFamilySettingType: 3857 return types.LaminateFamilySettingType[self._Entity.PlankSetting.ToString()] 3858 3859 @property 3860 def PlankMinRatio(self) -> float: 3861 return self._Entity.PlankMinRatio 3862 3863 @property 3864 def PlankMaxRatio(self) -> float: 3865 return self._Entity.PlankMaxRatio 3866 3867 @property 3868 def FootChargeSetting(self) -> types.LaminateFamilySettingType: 3869 return types.LaminateFamilySettingType[self._Entity.FootChargeSetting.ToString()] 3870 3871 @property 3872 def FootChargeMinRatio(self) -> float: 3873 return self._Entity.FootChargeMinRatio 3874 3875 @property 3876 def FootChargeMaxRatio(self) -> float: 3877 return self._Entity.FootChargeMaxRatio 3878 3879 @property 3880 def WebChargeSetting(self) -> types.LaminateFamilySettingType: 3881 return types.LaminateFamilySettingType[self._Entity.WebChargeSetting.ToString()] 3882 3883 @property 3884 def WebChargeMinRatio(self) -> float: 3885 return self._Entity.WebChargeMinRatio 3886 3887 @property 3888 def WebChargeMaxRatio(self) -> float: 3889 return self._Entity.WebChargeMaxRatio 3890 3891 @property 3892 def CapChargeSetting(self) -> types.LaminateFamilySettingType: 3893 return types.LaminateFamilySettingType[self._Entity.CapChargeSetting.ToString()] 3894 3895 @property 3896 def CapChargeMinRatio(self) -> float: 3897 return self._Entity.CapChargeMinRatio 3898 3899 @property 3900 def CapChargeMaxRatio(self) -> float: 3901 return self._Entity.CapChargeMaxRatio 3902 3903 @property 3904 def CapCoverSetting(self) -> types.LaminateFamilySettingType: 3905 return types.LaminateFamilySettingType[self._Entity.CapCoverSetting.ToString()] 3906 3907 @property 3908 def CapCoverMinRatio(self) -> float: 3909 return self._Entity.CapCoverMinRatio 3910 3911 @property 3912 def CapCoverMaxRatio(self) -> float: 3913 return self._Entity.CapCoverMaxRatio 3914 3915 @property 3916 def DropPattern(self) -> types.PlyDropPattern: 3917 return types.PlyDropPattern[self._Entity.DropPattern.ToString()] 3918 3919 @property 3920 def LaminateStiffenerProfile(self) -> types.StiffenerProfile: 3921 return types.StiffenerProfile[self._Entity.LaminateStiffenerProfile.ToString()] 3922 3923 3924class LaminateLayerBase(ABC): 3925 def __init__(self, laminateLayerBase: _api.LaminateLayerBase): 3926 self._Entity = laminateLayerBase 3927 3928 @property 3929 def LayerId(self) -> int: 3930 return self._Entity.LayerId 3931 3932 @property 3933 def LayerMaterial(self) -> str: 3934 return self._Entity.LayerMaterial 3935 3936 @property 3937 def LayerMaterialType(self) -> types.MaterialType: 3938 ''' 3939 Represents a material's type. 3940 ''' 3941 return types.MaterialType[self._Entity.LayerMaterialType.ToString()] 3942 3943 @property 3944 def Angle(self) -> float: 3945 return self._Entity.Angle 3946 3947 @property 3948 def Thickness(self) -> float: 3949 return self._Entity.Thickness 3950 3951 @property 3952 def IsFabric(self) -> bool: 3953 return self._Entity.IsFabric 3954 3955 @Angle.setter 3956 @abstractmethod 3957 def Angle(self, value: float) -> None: 3958 self._Entity.Angle = value 3959 3960 def SetThickness(self, thickness: float) -> None: 3961 ''' 3962 Set the thickness of a layer. 3963 ''' 3964 return self._Entity.SetThickness(thickness) 3965 3966 @overload 3967 def SetMaterial(self, matId: int) -> bool: ... 3968 3969 @overload 3970 def SetMaterial(self, matName: str) -> bool: ... 3971 3972 def SetMaterial(self, item1 = None) -> bool: 3973 if isinstance(item1, int): 3974 return self._Entity.SetMaterial(item1) 3975 3976 if isinstance(item1, str): 3977 return self._Entity.SetMaterial(item1) 3978 3979 return self._Entity.SetMaterial(item1) 3980 3981 3982class LaminateLayer(LaminateLayerBase): 3983 ''' 3984 Layer in a non-stiffener laminate. 3985 ''' 3986 def __init__(self, laminateLayer: _api.LaminateLayer): 3987 self._Entity = laminateLayer 3988 3989 @property 3990 def LayerId(self) -> int: 3991 return self._Entity.LayerId 3992 3993 @property 3994 def LayerMaterialType(self) -> types.MaterialType: 3995 ''' 3996 Represents a material's type. 3997 ''' 3998 return types.MaterialType[self._Entity.LayerMaterialType.ToString()] 3999 4000 @property 4001 def Angle(self) -> float: 4002 return self._Entity.Angle 4003 4004 @property 4005 def Thickness(self) -> float: 4006 return self._Entity.Thickness 4007 4008 @property 4009 def IsFabric(self) -> bool: 4010 return self._Entity.IsFabric 4011 4012 @Angle.setter 4013 def Angle(self, value: float) -> None: 4014 self._Entity.Angle = value 4015 4016 @overload 4017 def SetMaterial(self, matId: int) -> bool: ... 4018 4019 @overload 4020 def SetMaterial(self, matName: str) -> bool: ... 4021 4022 def SetMaterial(self, item1 = None) -> bool: 4023 if isinstance(item1, int): 4024 return bool(super().SetMaterial(item1)) 4025 4026 if isinstance(item1, str): 4027 return bool(super().SetMaterial(item1)) 4028 4029 return self._Entity.SetMaterial(item1) 4030 4031 4032class Laminate(LaminateBase): 4033 ''' 4034 Laminate 4035 ''' 4036 def __init__(self, laminate: _api.Laminate): 4037 self._Entity = laminate 4038 4039 @property 4040 def Layers(self) -> list[LaminateLayer]: 4041 return [LaminateLayer(laminateLayer) for laminateLayer in self._Entity.Layers] 4042 4043 def AddLayer(self, materialName: str, angle: float, thickness: float = None) -> LaminateLayer: 4044 return LaminateLayer(self._Entity.AddLayer(materialName, angle, thickness)) 4045 4046 def InsertLayer(self, layerId: int, materialName: str, angle: float, thickness: float = None) -> LaminateLayer: 4047 return LaminateLayer(self._Entity.InsertLayer(layerId, materialName, angle, thickness)) 4048 4049 def RemoveLayer(self, layerId: int) -> bool: 4050 ''' 4051 Removes a layer from the laminate. 4052 ''' 4053 return self._Entity.RemoveLayer(layerId) 4054 4055 def Save(self) -> None: 4056 ''' 4057 Save any changes to this laminate material to the database. 4058 ''' 4059 return self._Entity.Save() 4060 4061 4062class StiffenerLaminateLayer(LaminateLayerBase): 4063 ''' 4064 Stiffener Laminate Layer 4065 ''' 4066 def __init__(self, stiffenerLaminateLayer: _api.StiffenerLaminateLayer): 4067 self._Entity = stiffenerLaminateLayer 4068 4069 @property 4070 def LayerLocations(self) -> list[types.StiffenerLaminateLayerLocation]: 4071 return [types.StiffenerLaminateLayerLocation[stiffenerLaminateLayerLocation.ToString()] for stiffenerLaminateLayerLocation in self._Entity.LayerLocations] 4072 4073 @property 4074 def LayerId(self) -> int: 4075 return self._Entity.LayerId 4076 4077 @property 4078 def LayerMaterialType(self) -> types.MaterialType: 4079 ''' 4080 Represents a material's type. 4081 ''' 4082 return types.MaterialType[self._Entity.LayerMaterialType.ToString()] 4083 4084 @property 4085 def Angle(self) -> float: 4086 return self._Entity.Angle 4087 4088 @property 4089 def Thickness(self) -> float: 4090 return self._Entity.Thickness 4091 4092 @property 4093 def IsFabric(self) -> bool: 4094 return self._Entity.IsFabric 4095 4096 @Angle.setter 4097 def Angle(self, value: float) -> None: 4098 self._Entity.Angle = value 4099 4100 def AddLayerLocation(self, location: types.StiffenerLaminateLayerLocation) -> None: 4101 ''' 4102 Add a layer location to this layer. 4103 ''' 4104 return self._Entity.AddLayerLocation(_types.StiffenerLaminateLayerLocation(location.value)) 4105 4106 def RemoveLayerLocation(self, location: types.StiffenerLaminateLayerLocation) -> bool: 4107 ''' 4108 Remove a layer location from LayerLocations. 4109 ''' 4110 return self._Entity.RemoveLayerLocation(_types.StiffenerLaminateLayerLocation(location.value)) 4111 4112 @overload 4113 def SetMaterial(self, matId: int) -> bool: ... 4114 4115 @overload 4116 def SetMaterial(self, matName: str) -> bool: ... 4117 4118 def SetMaterial(self, item1 = None) -> bool: 4119 if isinstance(item1, int): 4120 return bool(super().SetMaterial(item1)) 4121 4122 if isinstance(item1, str): 4123 return bool(super().SetMaterial(item1)) 4124 4125 return self._Entity.SetMaterial(item1) 4126 4127 4128class StiffenerLaminate(LaminateBase): 4129 ''' 4130 Stiffener Laminate 4131 ''' 4132 def __init__(self, stiffenerLaminate: _api.StiffenerLaminate): 4133 self._Entity = stiffenerLaminate 4134 4135 @property 4136 def Layers(self) -> list[StiffenerLaminateLayer]: 4137 return [StiffenerLaminateLayer(stiffenerLaminateLayer) for stiffenerLaminateLayer in self._Entity.Layers] 4138 4139 @property 4140 def LaminateStiffenerProfile(self) -> types.StiffenerProfile: 4141 return types.StiffenerProfile[self._Entity.LaminateStiffenerProfile.ToString()] 4142 4143 @overload 4144 def AddLayer(self, location: types.StiffenerLaminateLayerLocation, materialName: str, angle: float, thickness: float = None) -> StiffenerLaminateLayer: ... 4145 4146 @overload 4147 def InsertLayer(self, location: types.StiffenerLaminateLayerLocation, layerId: int, materialName: str, angle: float, thickness: float = None) -> StiffenerLaminateLayer: ... 4148 4149 @overload 4150 def AddLayer(self, locations: tuple[types.StiffenerLaminateLayerLocation], materialName: str, angle: float, thickness: float = None) -> StiffenerLaminateLayer: ... 4151 4152 @overload 4153 def InsertLayer(self, locations: tuple[types.StiffenerLaminateLayerLocation], layerId: int, materialName: str, angle: float, thickness: float = None) -> StiffenerLaminateLayer: ... 4154 4155 def RemoveLayer(self, layerId: int) -> bool: 4156 ''' 4157 Remove a layer by layerId. 4158 Note, layerId is 1 indexed. 4159 ''' 4160 return self._Entity.RemoveLayer(layerId) 4161 4162 def Save(self) -> None: 4163 ''' 4164 Save laminate to database. 4165 ''' 4166 return self._Entity.Save() 4167 4168 def AddLayer(self, item1 = None, item2 = None, item3 = None, item4 = None) -> StiffenerLaminateLayer: 4169 if isinstance(item1, types.StiffenerLaminateLayerLocation) and isinstance(item2, str) and isinstance(item3, float) and isinstance(item4, float): 4170 return StiffenerLaminateLayer(self._Entity.AddLayer(_types.StiffenerLaminateLayerLocation(item1.value), item2, item3, item4)) 4171 4172 if isinstance(item1, tuple) and item1 and isinstance(item1[0], types.StiffenerLaminateLayerLocation) and isinstance(item2, str) and isinstance(item3, float) and isinstance(item4, float): 4173 locationsList = List[_types.StiffenerLaminateLayerLocation]() 4174 if item1 is not None: 4175 for thing in item1: 4176 if thing is not None: 4177 locationsList.Add(_types.StiffenerLaminateLayerLocation(thing.value)) 4178 locationsEnumerable = IEnumerable(locationsList) 4179 return StiffenerLaminateLayer(self._Entity.AddLayer(locationsEnumerable, item2, item3, item4)) 4180 4181 return StiffenerLaminateLayer(self._Entity.AddLayer(_types.StiffenerLaminateLayerLocation(item1.value), item2, item3, item4)) 4182 4183 def InsertLayer(self, item1 = None, item2 = None, item3 = None, item4 = None, item5 = None) -> StiffenerLaminateLayer: 4184 if isinstance(item1, types.StiffenerLaminateLayerLocation) and isinstance(item2, int) and isinstance(item3, str) and isinstance(item4, float) and isinstance(item5, float): 4185 return StiffenerLaminateLayer(self._Entity.InsertLayer(_types.StiffenerLaminateLayerLocation(item1.value), item2, item3, item4, item5)) 4186 4187 if isinstance(item1, tuple) and item1 and isinstance(item1[0], types.StiffenerLaminateLayerLocation) and isinstance(item2, int) and isinstance(item3, str) and isinstance(item4, float) and isinstance(item5, float): 4188 locationsList = List[_types.StiffenerLaminateLayerLocation]() 4189 if item1 is not None: 4190 for thing in item1: 4191 if thing is not None: 4192 locationsList.Add(_types.StiffenerLaminateLayerLocation(thing.value)) 4193 locationsEnumerable = IEnumerable(locationsList) 4194 return StiffenerLaminateLayer(self._Entity.InsertLayer(locationsEnumerable, item2, item3, item4, item5)) 4195 4196 return StiffenerLaminateLayer(self._Entity.InsertLayer(_types.StiffenerLaminateLayerLocation(item1.value), item2, item3, item4, item5)) 4197 4198 4199class OrthotropicCorrectionFactorBase(ABC): 4200 ''' 4201 Orthotropic material correction factor. 4202 ''' 4203 def __init__(self, orthotropicCorrectionFactorBase: _api.OrthotropicCorrectionFactorBase): 4204 self._Entity = orthotropicCorrectionFactorBase 4205 4206 @property 4207 def CorrectionId(self) -> types.CorrectionId: 4208 ''' 4209 Correction ID for a correction factor. (Columns in HyperX) 4210 ''' 4211 return types.CorrectionId[self._Entity.CorrectionId.ToString()] 4212 4213 @property 4214 def PropertyId(self) -> types.CorrectionProperty: 4215 ''' 4216 Property name for a correction factor. (Rows in HyperX) 4217 ''' 4218 return types.CorrectionProperty[self._Entity.PropertyId.ToString()] 4219 4220 4221class OrthotropicCorrectionFactorPoint: 4222 ''' 4223 Pointer to an Equation-based or Tabular Correction Factor. 4224 ''' 4225 def __init__(self, orthotropicCorrectionFactorPoint: _api.OrthotropicCorrectionFactorPoint): 4226 self._Entity = orthotropicCorrectionFactorPoint 4227 4228 def Create_OrthotropicCorrectionFactorPoint(property: types.CorrectionProperty, id: types.CorrectionId): 4229 return OrthotropicCorrectionFactorPoint(_api.OrthotropicCorrectionFactorPoint(_types.CorrectionProperty(property.value), _types.CorrectionId(id.value))) 4230 4231 @property 4232 def CorrectionProperty(self) -> types.CorrectionProperty: 4233 ''' 4234 Property name for a correction factor. (Rows in HyperX) 4235 ''' 4236 return types.CorrectionProperty[self._Entity.CorrectionProperty.ToString()] 4237 4238 @property 4239 def CorrectionId(self) -> types.CorrectionId: 4240 ''' 4241 Correction ID for a correction factor. (Columns in HyperX) 4242 ''' 4243 return types.CorrectionId[self._Entity.CorrectionId.ToString()] 4244 4245 @overload 4246 def Equals(self, other) -> bool: ... 4247 4248 @overload 4249 def Equals(self, obj) -> bool: ... 4250 4251 def GetHashCode(self) -> int: 4252 return self._Entity.GetHashCode() 4253 4254 def Equals(self, item1 = None) -> bool: 4255 if isinstance(item1, OrthotropicCorrectionFactorPoint): 4256 return self._Entity.Equals(item1._Entity) 4257 4258 return self._Entity.Equals(item1._Entity) 4259 4260 4261class OrthotropicCorrectionFactorValue: 4262 ''' 4263 Orthotropic material equation-based correction factor value. (NOT TABULAR) 4264 ''' 4265 def __init__(self, orthotropicCorrectionFactorValue: _api.OrthotropicCorrectionFactorValue): 4266 self._Entity = orthotropicCorrectionFactorValue 4267 4268 @property 4269 def Property(self) -> types.CorrectionProperty: 4270 ''' 4271 Property name for a correction factor. (Rows in HyperX) 4272 ''' 4273 return types.CorrectionProperty[self._Entity.Property.ToString()] 4274 4275 @property 4276 def Correction(self) -> types.CorrectionId: 4277 ''' 4278 Correction ID for a correction factor. (Columns in HyperX) 4279 ''' 4280 return types.CorrectionId[self._Entity.Correction.ToString()] 4281 4282 @property 4283 def Equation(self) -> types.CorrectionEquation: 4284 ''' 4285 Equation for a correction factor. 4286 ''' 4287 return types.CorrectionEquation[self._Entity.Equation.ToString()] 4288 4289 @property 4290 def EquationParameter(self) -> types.EquationParameterId: 4291 ''' 4292 Correction factor parameter names. 4293 ''' 4294 return types.EquationParameterId[self._Entity.EquationParameter.ToString()] 4295 4296 @property 4297 def Value(self) -> float: 4298 return self._Entity.Value 4299 4300 @Value.setter 4301 def Value(self, value: float) -> None: 4302 self._Entity.Value = value 4303 4304 4305class OrthotropicEquationCorrectionFactor(OrthotropicCorrectionFactorBase): 4306 ''' 4307 Represents an equation-based orthotropic material correction factor. 4308 ''' 4309 def __init__(self, orthotropicEquationCorrectionFactor: _api.OrthotropicEquationCorrectionFactor): 4310 self._Entity = orthotropicEquationCorrectionFactor 4311 4312 @property 4313 def Equation(self) -> types.CorrectionEquation: 4314 ''' 4315 Equation for a correction factor. 4316 ''' 4317 return types.CorrectionEquation[self._Entity.Equation.ToString()] 4318 4319 @property 4320 def OrthotropicCorrectionValues(self) -> dict[types.EquationParameterId, OrthotropicCorrectionFactorValue]: 4321 orthotropicCorrectionValuesDict = {} 4322 for kvp in self._Entity.OrthotropicCorrectionValues: 4323 orthotropicCorrectionValuesDict[types.EquationParameterId[kvp.Key.ToString()]] = OrthotropicCorrectionFactorValue(kvp.Value) 4324 4325 return orthotropicCorrectionValuesDict 4326 4327 def AddCorrectionFactorValue(self, equationParameterName: types.EquationParameterId, valueToAdd: float) -> OrthotropicCorrectionFactorValue: 4328 ''' 4329 Add a correction factor value for a given correction factor. 4330 :param equationParameterName: This represents the parameter of the equation that should be changed. 4331 :param valueToAdd: This is the value that will be assigned to the chosen parameter. 4332 ''' 4333 return OrthotropicCorrectionFactorValue(self._Entity.AddCorrectionFactorValue(_types.EquationParameterId(equationParameterName.value), valueToAdd)) 4334 4335 4336class TabularCorrectionFactorIndependentValue: 4337 ''' 4338 Contains an independent value for a tabular correction factor row. 4339 ''' 4340 def __init__(self, tabularCorrectionFactorIndependentValue: _api.TabularCorrectionFactorIndependentValue): 4341 self._Entity = tabularCorrectionFactorIndependentValue 4342 4343 @property 4344 def BoolValue(self) -> bool: 4345 return self._Entity.BoolValue 4346 4347 @property 4348 def DoubleValue(self) -> float: 4349 return self._Entity.DoubleValue 4350 4351 @property 4352 def IntValue(self) -> int: 4353 return self._Entity.IntValue 4354 4355 @property 4356 def ValueType(self) -> types.CorrectionValueType: 4357 ''' 4358 Defines the type of the independent values on a tabular correction factor row. 4359 ''' 4360 return types.CorrectionValueType[self._Entity.ValueType.ToString()] 4361 4362 4363class TabularCorrectionFactorRow: 4364 ''' 4365 Row data for a tabular correction factor. 4366 ''' 4367 def __init__(self, tabularCorrectionFactorRow: _api.TabularCorrectionFactorRow): 4368 self._Entity = tabularCorrectionFactorRow 4369 4370 @property 4371 def DependentValue(self) -> float: 4372 return self._Entity.DependentValue 4373 4374 @property 4375 def IndependentValues(self) -> dict[types.CorrectionIndependentDefinition, TabularCorrectionFactorIndependentValue]: 4376 independentValuesDict = {} 4377 for kvp in self._Entity.IndependentValues: 4378 independentValuesDict[types.CorrectionIndependentDefinition[kvp.Key.ToString()]] = TabularCorrectionFactorIndependentValue(kvp.Value) 4379 4380 return independentValuesDict 4381 4382 4383class OrthotropicTabularCorrectionFactor(OrthotropicCorrectionFactorBase): 4384 ''' 4385 Tabular correction factor. 4386 ''' 4387 def __init__(self, orthotropicTabularCorrectionFactor: _api.OrthotropicTabularCorrectionFactor): 4388 self._Entity = orthotropicTabularCorrectionFactor 4389 4390 @property 4391 def CorrectionFactorRows(self) -> dict[int, TabularCorrectionFactorRow]: 4392 correctionFactorRowsDict = {} 4393 for kvp in self._Entity.CorrectionFactorRows: 4394 correctionFactorRowsDict[int(kvp.Key)] = TabularCorrectionFactorRow(kvp.Value) 4395 4396 return correctionFactorRowsDict 4397 4398 @property 4399 def CorrectionIndependentDefinitions(self) -> set[types.CorrectionIndependentDefinition]: 4400 return {types.CorrectionIndependentDefinition(correctionIndependentDefinition) for correctionIndependentDefinition in self._Entity.CorrectionIndependentDefinitions} 4401 4402 @overload 4403 def SetIndependentValue(self, correctionPointId: int, cid: types.CorrectionIndependentDefinition, value: float) -> None: ... 4404 4405 @overload 4406 def SetIndependentValue(self, correctionPointId: int, cid: types.CorrectionIndependentDefinition, value: bool) -> None: ... 4407 4408 @overload 4409 def SetIndependentValue(self, correctionPointId: int, cid: types.CorrectionIndependentDefinition, value: int) -> None: ... 4410 4411 def SetKValue(self, correctionPointId: int, value: float) -> None: 4412 ''' 4413 Set the dependent value for a specified row. 4414 ''' 4415 return self._Entity.SetKValue(correctionPointId, value) 4416 4417 def SetIndependentValue(self, item1 = None, item2 = None, item3 = None) -> None: 4418 if isinstance(item1, int) and isinstance(item2, types.CorrectionIndependentDefinition) and isinstance(item3, float): 4419 return self._Entity.SetIndependentValue(item1, _types.CorrectionIndependentDefinition(item2.value), item3) 4420 4421 if isinstance(item1, int) and isinstance(item2, types.CorrectionIndependentDefinition) and isinstance(item3, bool): 4422 return self._Entity.SetIndependentValue(item1, _types.CorrectionIndependentDefinition(item2.value), item3) 4423 4424 if isinstance(item1, int) and isinstance(item2, types.CorrectionIndependentDefinition) and isinstance(item3, int): 4425 return self._Entity.SetIndependentValue(item1, _types.CorrectionIndependentDefinition(item2.value), item3) 4426 4427 return self._Entity.SetIndependentValue(item1, _types.CorrectionIndependentDefinition(item2.value), item3) 4428 4429 4430class OrthotropicAllowableCurvePoint: 4431 ''' 4432 Represents a point on a laminate allowable curve. 4433 ''' 4434 def __init__(self, orthotropicAllowableCurvePoint: _api.OrthotropicAllowableCurvePoint): 4435 self._Entity = orthotropicAllowableCurvePoint 4436 4437 @property 4438 def Property_ID(self) -> types.AllowablePropertyName: 4439 ''' 4440 Property name for a laminate allowable. 4441 ''' 4442 return types.AllowablePropertyName[self._Entity.Property_ID.ToString()] 4443 4444 @property 4445 def Temperature(self) -> float: 4446 return self._Entity.Temperature 4447 4448 @property 4449 def X(self) -> float: 4450 return self._Entity.X 4451 4452 @property 4453 def Y(self) -> float: 4454 return self._Entity.Y 4455 4456 @Property_ID.setter 4457 def Property_ID(self, value: types.AllowablePropertyName) -> None: 4458 self._Entity.Property_ID = _types.AllowablePropertyName(value.value) 4459 4460 @Temperature.setter 4461 def Temperature(self, value: float) -> None: 4462 self._Entity.Temperature = value 4463 4464 @X.setter 4465 def X(self, value: float) -> None: 4466 self._Entity.X = value 4467 4468 @Y.setter 4469 def Y(self, value: float) -> None: 4470 self._Entity.Y = value 4471 4472 4473class OrthotropicEffectiveLaminate: 4474 ''' 4475 Orthotropic material effective laminate properties. Read-only from the API. 4476 Check if material is an effective laminate with orthotropic.IsEffectiveLaminate. 4477 ''' 4478 def __init__(self, orthotropicEffectiveLaminate: _api.OrthotropicEffectiveLaminate): 4479 self._Entity = orthotropicEffectiveLaminate 4480 4481 @property 4482 def Percent_tape_0(self) -> float: 4483 return self._Entity.Percent_tape_0 4484 4485 @property 4486 def Percent_tape_90(self) -> float: 4487 return self._Entity.Percent_tape_90 4488 4489 @property 4490 def Percent_tape_45(self) -> float: 4491 return self._Entity.Percent_tape_45 4492 4493 @property 4494 def Percent_fabric_0(self) -> float: 4495 return self._Entity.Percent_fabric_0 4496 4497 @property 4498 def Percent_fabric_90(self) -> float: 4499 return self._Entity.Percent_fabric_90 4500 4501 @property 4502 def Percent_fabric_45(self) -> float: 4503 return self._Entity.Percent_fabric_45 4504 4505 @property 4506 def Tape_Orthotropic(self) -> str: 4507 return self._Entity.Tape_Orthotropic 4508 4509 @property 4510 def Fabric_Orthotropic(self) -> str: 4511 return self._Entity.Fabric_Orthotropic 4512 4513 @property 4514 def Valid(self) -> bool: 4515 return self._Entity.Valid 4516 4517 @property 4518 def Use_tape_allowables(self) -> bool: 4519 return self._Entity.Use_tape_allowables 4520 4521 4522class OrthotropicLaminateAllowable: 4523 ''' 4524 Orthotropic material laminate allowable properties. 4525 ''' 4526 def __init__(self, orthotropicLaminateAllowable: _api.OrthotropicLaminateAllowable): 4527 self._Entity = orthotropicLaminateAllowable 4528 4529 @property 4530 def Property_ID(self) -> types.AllowablePropertyName: 4531 ''' 4532 Property name for a laminate allowable. 4533 ''' 4534 return types.AllowablePropertyName[self._Entity.Property_ID.ToString()] 4535 4536 @property 4537 def Method_ID(self) -> types.AllowableMethodName: 4538 ''' 4539 Method name for a laminate allowable. 4540 ''' 4541 return types.AllowableMethodName[self._Entity.Method_ID.ToString()] 4542 4543 @Property_ID.setter 4544 def Property_ID(self, value: types.AllowablePropertyName) -> None: 4545 self._Entity.Property_ID = _types.AllowablePropertyName(value.value) 4546 4547 @Method_ID.setter 4548 def Method_ID(self, value: types.AllowableMethodName) -> None: 4549 self._Entity.Method_ID = _types.AllowableMethodName(value.value) 4550 4551 4552class OrthotropicTemperature: 4553 ''' 4554 Orthotropic material temperature dependent properties. 4555 ''' 4556 def __init__(self, orthotropicTemperature: _api.OrthotropicTemperature): 4557 self._Entity = orthotropicTemperature 4558 4559 @property 4560 def Temperature(self) -> float: 4561 return self._Entity.Temperature 4562 4563 @property 4564 def Et1(self) -> float: 4565 return self._Entity.Et1 4566 4567 @property 4568 def Et2(self) -> float: 4569 return self._Entity.Et2 4570 4571 @property 4572 def vt12(self) -> float: 4573 return self._Entity.vt12 4574 4575 @property 4576 def Ec1(self) -> float: 4577 return self._Entity.Ec1 4578 4579 @property 4580 def Ec2(self) -> float: 4581 return self._Entity.Ec2 4582 4583 @property 4584 def vc12(self) -> float: 4585 return self._Entity.vc12 4586 4587 @property 4588 def G12(self) -> float: 4589 return self._Entity.G12 4590 4591 @property 4592 def G13(self) -> float: 4593 return self._Entity.G13 4594 4595 @property 4596 def G23(self) -> float: 4597 return self._Entity.G23 4598 4599 @property 4600 def Ftu1(self) -> float: 4601 return self._Entity.Ftu1 4602 4603 @property 4604 def Ftu2(self) -> float: 4605 return self._Entity.Ftu2 4606 4607 @property 4608 def Fcu1(self) -> float: 4609 return self._Entity.Fcu1 4610 4611 @property 4612 def Fcu2(self) -> float: 4613 return self._Entity.Fcu2 4614 4615 @property 4616 def Fsu12(self) -> float: 4617 return self._Entity.Fsu12 4618 4619 @property 4620 def Fsu13(self) -> float: 4621 return self._Entity.Fsu13 4622 4623 @property 4624 def Fsu23(self) -> float: 4625 return self._Entity.Fsu23 4626 4627 @property 4628 def GIc(self) -> float: 4629 return self._Entity.GIc 4630 4631 @property 4632 def alpha1(self) -> float: 4633 return self._Entity.alpha1 4634 4635 @property 4636 def alpha2(self) -> float: 4637 return self._Entity.alpha2 4638 4639 @property 4640 def K1(self) -> float: 4641 return self._Entity.K1 4642 4643 @property 4644 def K2(self) -> float: 4645 return self._Entity.K2 4646 4647 @property 4648 def C(self) -> float: 4649 return self._Entity.C 4650 4651 @property 4652 def etu1(self) -> float: 4653 return self._Entity.etu1 4654 4655 @property 4656 def etu2(self) -> float: 4657 return self._Entity.etu2 4658 4659 @property 4660 def ecu1(self) -> float: 4661 return self._Entity.ecu1 4662 4663 @property 4664 def ecu2(self) -> float: 4665 return self._Entity.ecu2 4666 4667 @property 4668 def ecuoh(self) -> float: 4669 return self._Entity.ecuoh 4670 4671 @property 4672 def ecuai(self) -> float: 4673 return self._Entity.ecuai 4674 4675 @property 4676 def esu12(self) -> float: 4677 return self._Entity.esu12 4678 4679 @property 4680 def Ftu3(self) -> float: 4681 return self._Entity.Ftu3 4682 4683 @property 4684 def GIIc(self) -> float: 4685 return self._Entity.GIIc 4686 4687 @property 4688 def d0Tension(self) -> float: 4689 return self._Entity.d0Tension 4690 4691 @property 4692 def cd(self) -> float: 4693 return self._Entity.cd 4694 4695 @property 4696 def d0Compression(self) -> float: 4697 return self._Entity.d0Compression 4698 4699 @property 4700 def TLt(self) -> float: 4701 return self._Entity.TLt 4702 4703 @property 4704 def TLc(self) -> float: 4705 return self._Entity.TLc 4706 4707 @property 4708 def TTt(self) -> float: 4709 return self._Entity.TTt 4710 4711 @property 4712 def TTc(self) -> float: 4713 return self._Entity.TTc 4714 4715 @property 4716 def OrthotropicAllowableCurvePoints(self) -> list[OrthotropicAllowableCurvePoint]: 4717 return [OrthotropicAllowableCurvePoint(orthotropicAllowableCurvePoint) for orthotropicAllowableCurvePoint in self._Entity.OrthotropicAllowableCurvePoints] 4718 4719 @Temperature.setter 4720 def Temperature(self, value: float) -> None: 4721 self._Entity.Temperature = value 4722 4723 @Et1.setter 4724 def Et1(self, value: float) -> None: 4725 self._Entity.Et1 = value 4726 4727 @Et2.setter 4728 def Et2(self, value: float) -> None: 4729 self._Entity.Et2 = value 4730 4731 @vt12.setter 4732 def vt12(self, value: float) -> None: 4733 self._Entity.vt12 = value 4734 4735 @Ec1.setter 4736 def Ec1(self, value: float) -> None: 4737 self._Entity.Ec1 = value 4738 4739 @Ec2.setter 4740 def Ec2(self, value: float) -> None: 4741 self._Entity.Ec2 = value 4742 4743 @vc12.setter 4744 def vc12(self, value: float) -> None: 4745 self._Entity.vc12 = value 4746 4747 @G12.setter 4748 def G12(self, value: float) -> None: 4749 self._Entity.G12 = value 4750 4751 @G13.setter 4752 def G13(self, value: float) -> None: 4753 self._Entity.G13 = value 4754 4755 @G23.setter 4756 def G23(self, value: float) -> None: 4757 self._Entity.G23 = value 4758 4759 @Ftu1.setter 4760 def Ftu1(self, value: float) -> None: 4761 self._Entity.Ftu1 = value 4762 4763 @Ftu2.setter 4764 def Ftu2(self, value: float) -> None: 4765 self._Entity.Ftu2 = value 4766 4767 @Fcu1.setter 4768 def Fcu1(self, value: float) -> None: 4769 self._Entity.Fcu1 = value 4770 4771 @Fcu2.setter 4772 def Fcu2(self, value: float) -> None: 4773 self._Entity.Fcu2 = value 4774 4775 @Fsu12.setter 4776 def Fsu12(self, value: float) -> None: 4777 self._Entity.Fsu12 = value 4778 4779 @Fsu13.setter 4780 def Fsu13(self, value: float) -> None: 4781 self._Entity.Fsu13 = value 4782 4783 @Fsu23.setter 4784 def Fsu23(self, value: float) -> None: 4785 self._Entity.Fsu23 = value 4786 4787 @GIc.setter 4788 def GIc(self, value: float) -> None: 4789 self._Entity.GIc = value 4790 4791 @alpha1.setter 4792 def alpha1(self, value: float) -> None: 4793 self._Entity.alpha1 = value 4794 4795 @alpha2.setter 4796 def alpha2(self, value: float) -> None: 4797 self._Entity.alpha2 = value 4798 4799 @K1.setter 4800 def K1(self, value: float) -> None: 4801 self._Entity.K1 = value 4802 4803 @K2.setter 4804 def K2(self, value: float) -> None: 4805 self._Entity.K2 = value 4806 4807 @C.setter 4808 def C(self, value: float) -> None: 4809 self._Entity.C = value 4810 4811 @etu1.setter 4812 def etu1(self, value: float) -> None: 4813 self._Entity.etu1 = value 4814 4815 @etu2.setter 4816 def etu2(self, value: float) -> None: 4817 self._Entity.etu2 = value 4818 4819 @ecu1.setter 4820 def ecu1(self, value: float) -> None: 4821 self._Entity.ecu1 = value 4822 4823 @ecu2.setter 4824 def ecu2(self, value: float) -> None: 4825 self._Entity.ecu2 = value 4826 4827 @ecuoh.setter 4828 def ecuoh(self, value: float) -> None: 4829 self._Entity.ecuoh = value 4830 4831 @ecuai.setter 4832 def ecuai(self, value: float) -> None: 4833 self._Entity.ecuai = value 4834 4835 @esu12.setter 4836 def esu12(self, value: float) -> None: 4837 self._Entity.esu12 = value 4838 4839 @Ftu3.setter 4840 def Ftu3(self, value: float) -> None: 4841 self._Entity.Ftu3 = value 4842 4843 @GIIc.setter 4844 def GIIc(self, value: float) -> None: 4845 self._Entity.GIIc = value 4846 4847 @d0Tension.setter 4848 def d0Tension(self, value: float) -> None: 4849 self._Entity.d0Tension = value 4850 4851 @cd.setter 4852 def cd(self, value: float) -> None: 4853 self._Entity.cd = value 4854 4855 @d0Compression.setter 4856 def d0Compression(self, value: float) -> None: 4857 self._Entity.d0Compression = value 4858 4859 @TLt.setter 4860 def TLt(self, value: float) -> None: 4861 self._Entity.TLt = value 4862 4863 @TLc.setter 4864 def TLc(self, value: float) -> None: 4865 self._Entity.TLc = value 4866 4867 @TTt.setter 4868 def TTt(self, value: float) -> None: 4869 self._Entity.TTt = value 4870 4871 @TTc.setter 4872 def TTc(self, value: float) -> None: 4873 self._Entity.TTc = value 4874 4875 def AddCurvePoint(self, property: types.AllowablePropertyName, x: float, y: float) -> OrthotropicAllowableCurvePoint: 4876 ''' 4877 Add a curve point to a laminate allowable curve. 4878 :param x: x represents an x-value (for a non-polynomial method) or an allowable polynomial coefficient (represented by an enum). 4879 ''' 4880 return OrthotropicAllowableCurvePoint(self._Entity.AddCurvePoint(_types.AllowablePropertyName(property.value), x, y)) 4881 4882 def DeleteCurvePoint(self, property: types.AllowablePropertyName, x: float) -> bool: 4883 ''' 4884 Deletes a temperature-dependent property for a material. 4885 :param x: x represents an x-value (for a non-polynomial method) or an allowable polynomial coefficient (represented by an enum). 4886 ''' 4887 return self._Entity.DeleteCurvePoint(_types.AllowablePropertyName(property.value), x) 4888 4889 def GetCurvePoint(self, property: types.AllowablePropertyName, x: float) -> OrthotropicAllowableCurvePoint: 4890 ''' 4891 Retrieve an allowable curve point from this temperature's allowable curve points. 4892 :param x: x represents an x-value (for a non-polynomial method) or an allowable polynomial coefficient (represented by an enum). 4893 ''' 4894 return OrthotropicAllowableCurvePoint(self._Entity.GetCurvePoint(_types.AllowablePropertyName(property.value), x)) 4895 4896 4897class Orthotropic: 4898 ''' 4899 Orthotropic material. 4900 ''' 4901 def __init__(self, orthotropic: _api.Orthotropic): 4902 self._Entity = orthotropic 4903 4904 @property 4905 def MaterialFamilyName(self) -> str: 4906 return self._Entity.MaterialFamilyName 4907 4908 @property 4909 def Id(self) -> int: 4910 return self._Entity.Id 4911 4912 @property 4913 def CreationDate(self) -> DateTime: 4914 return self._Entity.CreationDate 4915 4916 @property 4917 def ModificationDate(self) -> DateTime: 4918 return self._Entity.ModificationDate 4919 4920 @property 4921 def Name(self) -> str: 4922 return self._Entity.Name 4923 4924 @property 4925 def Form(self) -> str: 4926 return self._Entity.Form 4927 4928 @property 4929 def Specification(self) -> str: 4930 return self._Entity.Specification 4931 4932 @property 4933 def Basis(self) -> str: 4934 return self._Entity.Basis 4935 4936 @property 4937 def Wet(self) -> bool: 4938 return self._Entity.Wet 4939 4940 @property 4941 def Thickness(self) -> float: 4942 return self._Entity.Thickness 4943 4944 @property 4945 def Density(self) -> float: 4946 return self._Entity.Density 4947 4948 @property 4949 def FiberVolume(self) -> float: 4950 return self._Entity.FiberVolume 4951 4952 @property 4953 def GlassTransition(self) -> float: 4954 return self._Entity.GlassTransition 4955 4956 @property 4957 def Manufacturer(self) -> str: 4958 return self._Entity.Manufacturer 4959 4960 @property 4961 def Processes(self) -> str: 4962 return self._Entity.Processes 4963 4964 @property 4965 def MaterialDescription(self) -> str: 4966 return self._Entity.MaterialDescription 4967 4968 @property 4969 def UserNote(self) -> str: 4970 return self._Entity.UserNote 4971 4972 @property 4973 def BendingCorrectionFactor(self) -> float: 4974 return self._Entity.BendingCorrectionFactor 4975 4976 @property 4977 def FemMaterialId(self) -> int: 4978 return self._Entity.FemMaterialId 4979 4980 @property 4981 def Cost(self) -> float: 4982 return self._Entity.Cost 4983 4984 @property 4985 def BucklingStiffnessKnockdown(self) -> float: 4986 return self._Entity.BucklingStiffnessKnockdown 4987 4988 @property 4989 def OrthotropicTemperatureProperties(self) -> list[OrthotropicTemperature]: 4990 return [OrthotropicTemperature(orthotropicTemperature) for orthotropicTemperature in self._Entity.OrthotropicTemperatureProperties] 4991 4992 @property 4993 def OrthotropicLaminateAllowables(self) -> list[OrthotropicLaminateAllowable]: 4994 return [OrthotropicLaminateAllowable(orthotropicLaminateAllowable) for orthotropicLaminateAllowable in self._Entity.OrthotropicLaminateAllowables] 4995 4996 @property 4997 def OrthotropicEffectiveLaminate(self) -> OrthotropicEffectiveLaminate: 4998 ''' 4999 Orthotropic material effective laminate properties. Read-only from the API. 5000 Check if material is an effective laminate with orthotropic.IsEffectiveLaminate. 5001 ''' 5002 result = self._Entity.OrthotropicEffectiveLaminate 5003 return OrthotropicEffectiveLaminate(result) if result is not None else None 5004 5005 @property 5006 def OrthotropicEquationCorrectionFactors(self) -> dict[OrthotropicCorrectionFactorPoint, OrthotropicEquationCorrectionFactor]: 5007 orthotropicEquationCorrectionFactorsDict = {} 5008 for kvp in self._Entity.OrthotropicEquationCorrectionFactors: 5009 orthotropicEquationCorrectionFactorsDict[OrthotropicCorrectionFactorPoint(kvp.Key)] = OrthotropicEquationCorrectionFactor(kvp.Value) 5010 5011 return orthotropicEquationCorrectionFactorsDict 5012 5013 @property 5014 def OrthotropicTabularCorrectionFactors(self) -> dict[OrthotropicCorrectionFactorPoint, OrthotropicTabularCorrectionFactor]: 5015 orthotropicTabularCorrectionFactorsDict = {} 5016 for kvp in self._Entity.OrthotropicTabularCorrectionFactors: 5017 orthotropicTabularCorrectionFactorsDict[OrthotropicCorrectionFactorPoint(kvp.Key)] = OrthotropicTabularCorrectionFactor(kvp.Value) 5018 5019 return orthotropicTabularCorrectionFactorsDict 5020 5021 @MaterialFamilyName.setter 5022 def MaterialFamilyName(self, value: str) -> None: 5023 self._Entity.MaterialFamilyName = value 5024 5025 @Name.setter 5026 def Name(self, value: str) -> None: 5027 self._Entity.Name = value 5028 5029 @Form.setter 5030 def Form(self, value: str) -> None: 5031 self._Entity.Form = value 5032 5033 @Specification.setter 5034 def Specification(self, value: str) -> None: 5035 self._Entity.Specification = value 5036 5037 @Basis.setter 5038 def Basis(self, value: str) -> None: 5039 self._Entity.Basis = value 5040 5041 @Wet.setter 5042 def Wet(self, value: bool) -> None: 5043 self._Entity.Wet = value 5044 5045 @Thickness.setter 5046 def Thickness(self, value: float) -> None: 5047 self._Entity.Thickness = value 5048 5049 @Density.setter 5050 def Density(self, value: float) -> None: 5051 self._Entity.Density = value 5052 5053 @FiberVolume.setter 5054 def FiberVolume(self, value: float) -> None: 5055 self._Entity.FiberVolume = value 5056 5057 @GlassTransition.setter 5058 def GlassTransition(self, value: float) -> None: 5059 self._Entity.GlassTransition = value 5060 5061 @Manufacturer.setter 5062 def Manufacturer(self, value: str) -> None: 5063 self._Entity.Manufacturer = value 5064 5065 @Processes.setter 5066 def Processes(self, value: str) -> None: 5067 self._Entity.Processes = value 5068 5069 @MaterialDescription.setter 5070 def MaterialDescription(self, value: str) -> None: 5071 self._Entity.MaterialDescription = value 5072 5073 @UserNote.setter 5074 def UserNote(self, value: str) -> None: 5075 self._Entity.UserNote = value 5076 5077 @BendingCorrectionFactor.setter 5078 def BendingCorrectionFactor(self, value: float) -> None: 5079 self._Entity.BendingCorrectionFactor = value 5080 5081 @FemMaterialId.setter 5082 def FemMaterialId(self, value: int) -> None: 5083 self._Entity.FemMaterialId = value 5084 5085 @Cost.setter 5086 def Cost(self, value: float) -> None: 5087 self._Entity.Cost = value 5088 5089 @BucklingStiffnessKnockdown.setter 5090 def BucklingStiffnessKnockdown(self, value: float) -> None: 5091 self._Entity.BucklingStiffnessKnockdown = value 5092 5093 def AddTemperatureProperty(self, temperature: float, et1: float, et2: float, vt12: float, ec1: float, ec2: float, vc12: float, g12: float, ftu1: float, ftu2: float, fcu1: float, fcu2: float, fsu12: float, alpha1: float, alpha2: float, etu1: float, etu2: float, ecu1: float, ecu2: float, esu12: float) -> OrthotropicTemperature: 5094 ''' 5095 Adds a temperature-dependent property for a material. 5096 ''' 5097 return OrthotropicTemperature(self._Entity.AddTemperatureProperty(temperature, et1, et2, vt12, ec1, ec2, vc12, g12, ftu1, ftu2, fcu1, fcu2, fsu12, alpha1, alpha2, etu1, etu2, ecu1, ecu2, esu12)) 5098 5099 def DeleteTemperatureProperty(self, temperature: float) -> bool: 5100 ''' 5101 Deletes a temperature-dependent property for a material. 5102 ''' 5103 return self._Entity.DeleteTemperatureProperty(temperature) 5104 5105 def GetTemperature(self, lookupTemperature: float) -> OrthotropicTemperature: 5106 ''' 5107 Retrieve a Temperature from this material's temperature-dependent properties. Allows a degree of tolerance to avoid issues with floating point numbers. 5108 :param LookupTemperature: Temperature to search for. 5109 ''' 5110 return OrthotropicTemperature(self._Entity.GetTemperature(lookupTemperature)) 5111 5112 def IsEffectiveLaminate(self) -> bool: 5113 ''' 5114 Returns true if this material is an effective laminate. 5115 ''' 5116 return self._Entity.IsEffectiveLaminate() 5117 5118 def HasLaminateAllowable(self, property: types.AllowablePropertyName) -> bool: 5119 ''' 5120 Returns true if this material has a specified laminate allowable property. 5121 ''' 5122 return self._Entity.HasLaminateAllowable(_types.AllowablePropertyName(property.value)) 5123 5124 def AddLaminateAllowable(self, property: types.AllowablePropertyName, method: types.AllowableMethodName) -> OrthotropicLaminateAllowable: 5125 ''' 5126 Adds a laminate allowable to this material. 5127 An orthotropic material can only have one laminate allowable of each property (as specified by the property argument). 5128 :param property: The strain or stress property for a laminate allowable. 5129 :param method: The method for a laminate allowable (AML, Percent 0/45, Polynomial). 5130 ''' 5131 return OrthotropicLaminateAllowable(self._Entity.AddLaminateAllowable(_types.AllowablePropertyName(property.value), _types.AllowableMethodName(method.value))) 5132 5133 def GetLaminateAllowable(self, lookupAllowableProperty: types.AllowablePropertyName) -> OrthotropicLaminateAllowable: 5134 ''' 5135 Retrieve a Laminate allowable from this material's laminate allowables. 5136 :param LookupAllowableProperty: Laminate allowable property to search for. 5137 ''' 5138 return OrthotropicLaminateAllowable(self._Entity.GetLaminateAllowable(_types.AllowablePropertyName(lookupAllowableProperty.value))) 5139 5140 def AddEquationCorrectionFactor(self, propertyId: types.CorrectionProperty, correctionId: types.CorrectionId, equationId: types.CorrectionEquation) -> OrthotropicEquationCorrectionFactor: 5141 ''' 5142 Adds an equation-based correction factor for this material. 5143 :param propertyId: The ID of the property to be affected by the correction factor. Specified with a CorrectionPropertyName enum. 5144 :param correctionId: The ID for the type of correction factor to be applied. Specified with a CorrectionIDName enum. 5145 :param equationId: The ID for the type of correction factor equation to use. Specified with a CorrectionEquationName enum. 5146 ''' 5147 return OrthotropicEquationCorrectionFactor(self._Entity.AddEquationCorrectionFactor(_types.CorrectionProperty(propertyId.value), _types.CorrectionId(correctionId.value), _types.CorrectionEquation(equationId.value))) 5148 5149 def GetEquationCorrectionFactor(self, property: types.CorrectionProperty, correction: types.CorrectionId) -> OrthotropicEquationCorrectionFactor: 5150 ''' 5151 Retrieve a Correction Factor from this material's correction factors. 5152 :param property: CorrectionPropertyName to search for. 5153 :param correction: CorrectionIDName to search for. 5154 ''' 5155 return OrthotropicEquationCorrectionFactor(self._Entity.GetEquationCorrectionFactor(_types.CorrectionProperty(property.value), _types.CorrectionId(correction.value))) 5156 5157 def GetTabularCorrectionFactor(self, property: types.CorrectionProperty, correction: types.CorrectionId) -> OrthotropicTabularCorrectionFactor: 5158 ''' 5159 Retrieve a Correction Factor from this material's correction factors. 5160 :param property: CorrectionPropertyName to search for. 5161 :param correction: CorrectionIDName to search for. 5162 ''' 5163 return OrthotropicTabularCorrectionFactor(self._Entity.GetTabularCorrectionFactor(_types.CorrectionProperty(property.value), _types.CorrectionId(correction.value))) 5164 5165 def Save(self) -> None: 5166 ''' 5167 Save any changes to this orthotropic material to the database. 5168 ''' 5169 return self._Entity.Save() 5170 5171 5172class Vector2d: 5173 ''' 5174 Represents a readonly 2D vector. 5175 ''' 5176 def __init__(self, vector2d: _api.Vector2d): 5177 self._Entity = vector2d 5178 5179 def Create_Vector2d(x: float, y: float): 5180 return Vector2d(_api.Vector2d(x, y)) 5181 5182 @property 5183 def X(self) -> float: 5184 return self._Entity.X 5185 5186 @property 5187 def Y(self) -> float: 5188 return self._Entity.Y 5189 5190 @overload 5191 def Equals(self, other) -> bool: ... 5192 5193 @overload 5194 def Equals(self, obj) -> bool: ... 5195 5196 def GetHashCode(self) -> int: 5197 return self._Entity.GetHashCode() 5198 5199 def Equals(self, item1 = None) -> bool: 5200 if isinstance(item1, Vector2d): 5201 return self._Entity.Equals(item1._Entity) 5202 5203 return self._Entity.Equals(item1._Entity) 5204 5205 def __eq__(self, other): 5206 return self.Equals(other) 5207 5208 def __ne__(self, other): 5209 return not self.Equals(other) 5210 5211 5212class ElementSet(IdNameEntity): 5213 ''' 5214 A set of elements defined in the input file. 5215 ''' 5216 def __init__(self, elementSet: _api.ElementSet): 5217 self._Entity = elementSet 5218 5219 @property 5220 def Elements(self) -> ElementCol: 5221 result = self._Entity.Elements 5222 return ElementCol(result) if result is not None else None 5223 5224 5225class FemProperty(IdNameEntity): 5226 ''' 5227 A property description. 5228 ''' 5229 def __init__(self, femProperty: _api.FemProperty): 5230 self._Entity = femProperty 5231 5232 @property 5233 def Elements(self) -> ElementCol: 5234 result = self._Entity.Elements 5235 return ElementCol(result) if result is not None else None 5236 5237 @property 5238 def FemType(self) -> types.FemType: 5239 return types.FemType[self._Entity.FemType.ToString()] 5240 5241 5242class ElementSetCol(IdEntityCol[ElementSet]): 5243 def __init__(self, elementSetCol: _api.ElementSetCol): 5244 self._Entity = elementSetCol 5245 self._CollectedClass = ElementSet 5246 5247 @property 5248 def ElementSetColList(self) -> tuple[ElementSet]: 5249 return tuple([ElementSet(elementSetCol) for elementSetCol in self._Entity]) 5250 5251 def __getitem__(self, index: int): 5252 return self.ElementSetColList[index] 5253 5254 def __iter__(self): 5255 yield from self.ElementSetColList 5256 5257 def __len__(self): 5258 return len(self.ElementSetColList) 5259 5260 5261class FemPropertyCol(IdEntityCol[FemProperty]): 5262 def __init__(self, femPropertyCol: _api.FemPropertyCol): 5263 self._Entity = femPropertyCol 5264 self._CollectedClass = FemProperty 5265 5266 @property 5267 def FemPropertyColList(self) -> tuple[FemProperty]: 5268 return tuple([FemProperty(femPropertyCol) for femPropertyCol in self._Entity]) 5269 5270 def __getitem__(self, index: int): 5271 return self.FemPropertyColList[index] 5272 5273 def __iter__(self): 5274 yield from self.FemPropertyColList 5275 5276 def __len__(self): 5277 return len(self.FemPropertyColList) 5278 5279 5280class FemDataSet: 5281 def __init__(self, femDataSet: _api.FemDataSet): 5282 self._Entity = femDataSet 5283 5284 @property 5285 def FemProperties(self) -> FemPropertyCol: 5286 result = self._Entity.FemProperties 5287 return FemPropertyCol(result) if result is not None else None 5288 5289 @property 5290 def ElementSets(self) -> ElementSetCol: 5291 result = self._Entity.ElementSets 5292 return ElementSetCol(result) if result is not None else None 5293 5294 5295class PluginPackage(IdNameEntity): 5296 def __init__(self, pluginPackage: _api.PluginPackage): 5297 self._Entity = pluginPackage 5298 5299 @property 5300 def FilePath(self) -> str: 5301 return self._Entity.FilePath 5302 5303 @property 5304 def Version(self) -> str: 5305 return self._Entity.Version 5306 5307 @property 5308 def Description(self) -> str: 5309 return self._Entity.Description 5310 5311 @property 5312 def ModificationDate(self) -> DateTime: 5313 return self._Entity.ModificationDate 5314 5315 5316class Ply(IdNameEntity): 5317 def __init__(self, ply: _api.Ply): 5318 self._Entity = ply 5319 5320 @property 5321 def InnerCurves(self) -> list[int]: 5322 return [int32 for int32 in self._Entity.InnerCurves] 5323 5324 @property 5325 def OuterCurves(self) -> list[int]: 5326 return [int32 for int32 in self._Entity.OuterCurves] 5327 5328 @property 5329 def FiberDirectionCurves(self) -> list[int]: 5330 return [int32 for int32 in self._Entity.FiberDirectionCurves] 5331 5332 @property 5333 def Area(self) -> float: 5334 return self._Entity.Area 5335 5336 @property 5337 def Description(self) -> str: 5338 return self._Entity.Description 5339 5340 @property 5341 def Elements(self) -> ElementCol: 5342 result = self._Entity.Elements 5343 return ElementCol(result) if result is not None else None 5344 5345 @property 5346 def MaterialId(self) -> int: 5347 return self._Entity.MaterialId 5348 5349 @property 5350 def Orientation(self) -> int: 5351 return self._Entity.Orientation 5352 5353 @property 5354 def Sequence(self) -> int: 5355 return self._Entity.Sequence 5356 5357 @property 5358 def StructureId(self) -> int: 5359 return self._Entity.StructureId 5360 5361 @property 5362 def Thickness(self) -> float: 5363 return self._Entity.Thickness 5364 5365 5366class Rundeck(IdEntity): 5367 def __init__(self, rundeck: _api.Rundeck): 5368 self._Entity = rundeck 5369 5370 @property 5371 def InputFilePath(self) -> str: 5372 return self._Entity.InputFilePath 5373 5374 @property 5375 def IsPrimary(self) -> bool: 5376 return self._Entity.IsPrimary 5377 5378 @property 5379 def ResultFilePath(self) -> str: 5380 return self._Entity.ResultFilePath 5381 5382 def SetInputFilePath(self, filepath: str) -> RundeckUpdateStatus: 5383 ''' 5384 The rundeck's input file path will point to the provided file path 5385 :param filepath: The path to the rundeck 5386 ''' 5387 return RundeckUpdateStatus[self._Entity.SetInputFilePath(filepath).ToString()] 5388 5389 def SetResultFilePath(self, filepath: str) -> RundeckUpdateStatus: 5390 ''' 5391 The rundeck's result file path will point to the provided file path 5392 :param filepath: The path to the result file 5393 ''' 5394 return RundeckUpdateStatus[self._Entity.SetResultFilePath(filepath).ToString()] 5395 5396 5397class RundeckPathPair: 5398 def __init__(self, rundeckPathPair: _api.RundeckPathPair): 5399 self._Entity = rundeckPathPair 5400 5401 @property 5402 def InputFilePath(self) -> str: 5403 return self._Entity.InputFilePath 5404 5405 @property 5406 def ResultFilePath(self) -> str: 5407 return self._Entity.ResultFilePath 5408 5409 @InputFilePath.setter 5410 def InputFilePath(self, value: str) -> None: 5411 self._Entity.InputFilePath = value 5412 5413 @ResultFilePath.setter 5414 def ResultFilePath(self, value: str) -> None: 5415 self._Entity.ResultFilePath = value 5416 5417 5418class BeamLoads: 5419 def __init__(self, beamLoads: _api.BeamLoads): 5420 self._Entity = beamLoads 5421 5422 @property 5423 def AxialForce(self) -> float: 5424 return self._Entity.AxialForce 5425 5426 @property 5427 def MomentX(self) -> float: 5428 return self._Entity.MomentX 5429 5430 @property 5431 def MomentY(self) -> float: 5432 return self._Entity.MomentY 5433 5434 @property 5435 def ShearX(self) -> float: 5436 return self._Entity.ShearX 5437 5438 @property 5439 def ShearY(self) -> float: 5440 return self._Entity.ShearY 5441 5442 @property 5443 def Torque(self) -> float: 5444 return self._Entity.Torque 5445 5446 5447class SectionCut(IdNameEntity): 5448 def __init__(self, sectionCut: _api.SectionCut): 5449 self._Entity = sectionCut 5450 5451 @property 5452 def ReferencePoint(self) -> types.SectionCutPropertyLocation: 5453 ''' 5454 Centroid vs Origin 5455 ''' 5456 return types.SectionCutPropertyLocation[self._Entity.ReferencePoint.ToString()] 5457 5458 @property 5459 def HorizontalVector(self) -> Vector3d: 5460 ''' 5461 Represents a readonly 3D vector. 5462 ''' 5463 result = self._Entity.HorizontalVector 5464 return Vector3d(result) if result is not None else None 5465 5466 @property 5467 def NormalVector(self) -> Vector3d: 5468 ''' 5469 Represents a readonly 3D vector. 5470 ''' 5471 result = self._Entity.NormalVector 5472 return Vector3d(result) if result is not None else None 5473 5474 @property 5475 def OriginVector(self) -> Vector3d: 5476 ''' 5477 Represents a readonly 3D vector. 5478 ''' 5479 result = self._Entity.OriginVector 5480 return Vector3d(result) if result is not None else None 5481 5482 @property 5483 def VerticalVector(self) -> Vector3d: 5484 ''' 5485 Represents a readonly 3D vector. 5486 ''' 5487 result = self._Entity.VerticalVector 5488 return Vector3d(result) if result is not None else None 5489 5490 @property 5491 def MaxAngleBound(self) -> float: 5492 return self._Entity.MaxAngleBound 5493 5494 @property 5495 def MinAngleBound(self) -> float: 5496 return self._Entity.MinAngleBound 5497 5498 @property 5499 def MinStiffnessEihh(self) -> float: 5500 return self._Entity.MinStiffnessEihh 5501 5502 @property 5503 def MinStiffnessEivv(self) -> float: 5504 return self._Entity.MinStiffnessEivv 5505 5506 @property 5507 def MinStiffnessGJ(self) -> float: 5508 return self._Entity.MinStiffnessGJ 5509 5510 @property 5511 def ZoneStiffnessDistribution(self) -> float: 5512 return self._Entity.ZoneStiffnessDistribution 5513 5514 @property 5515 def CN_hmax(self) -> float: 5516 return self._Entity.CN_hmax 5517 5518 @property 5519 def CN_hmin(self) -> float: 5520 return self._Entity.CN_hmin 5521 5522 @property 5523 def CN_vmax(self) -> float: 5524 return self._Entity.CN_vmax 5525 5526 @property 5527 def CN_vmin(self) -> float: 5528 return self._Entity.CN_vmin 5529 5530 @property 5531 def CQ_hmax(self) -> float: 5532 return self._Entity.CQ_hmax 5533 5534 @property 5535 def CQ_hmin(self) -> float: 5536 return self._Entity.CQ_hmin 5537 5538 @property 5539 def CQ_vmax(self) -> float: 5540 return self._Entity.CQ_vmax 5541 5542 @property 5543 def CQ_vmin(self) -> float: 5544 return self._Entity.CQ_vmin 5545 5546 @property 5547 def CG(self) -> Vector2d: 5548 ''' 5549 Represents a readonly 2D vector. 5550 ''' 5551 result = self._Entity.CG 5552 return Vector2d(result) if result is not None else None 5553 5554 @property 5555 def CN(self) -> Vector2d: 5556 ''' 5557 Represents a readonly 2D vector. 5558 ''' 5559 result = self._Entity.CN 5560 return Vector2d(result) if result is not None else None 5561 5562 @property 5563 def CQ(self) -> Vector2d: 5564 ''' 5565 Represents a readonly 2D vector. 5566 ''' 5567 result = self._Entity.CQ 5568 return Vector2d(result) if result is not None else None 5569 5570 @property 5571 def EnclosedArea(self) -> float: 5572 return self._Entity.EnclosedArea 5573 5574 @property 5575 def NumberOfCells(self) -> int: 5576 return self._Entity.NumberOfCells 5577 5578 @property 5579 def EIhh(self) -> float: 5580 return self._Entity.EIhh 5581 5582 @property 5583 def EIhv(self) -> float: 5584 return self._Entity.EIhv 5585 5586 @property 5587 def EIvv(self) -> float: 5588 return self._Entity.EIvv 5589 5590 @property 5591 def GJ(self) -> float: 5592 return self._Entity.GJ 5593 5594 @property 5595 def EA(self) -> float: 5596 return self._Entity.EA 5597 5598 @property 5599 def EImax(self) -> float: 5600 return self._Entity.EImax 5601 5602 @property 5603 def EImin(self) -> float: 5604 return self._Entity.EImin 5605 5606 @property 5607 def PrincipalAngle(self) -> float: 5608 return self._Entity.PrincipalAngle 5609 5610 @property 5611 def Elements(self) -> ElementCol: 5612 result = self._Entity.Elements 5613 return ElementCol(result) if result is not None else None 5614 5615 @property 5616 def PlateElements(self) -> ElementCol: 5617 result = self._Entity.PlateElements 5618 return ElementCol(result) if result is not None else None 5619 5620 @property 5621 def BeamElements(self) -> ElementCol: 5622 result = self._Entity.BeamElements 5623 return ElementCol(result) if result is not None else None 5624 5625 @ReferencePoint.setter 5626 def ReferencePoint(self, value: types.SectionCutPropertyLocation) -> None: 5627 self._Entity.ReferencePoint = _types.SectionCutPropertyLocation(value.value) 5628 5629 @MaxAngleBound.setter 5630 def MaxAngleBound(self, value: float) -> None: 5631 self._Entity.MaxAngleBound = value 5632 5633 @MinAngleBound.setter 5634 def MinAngleBound(self, value: float) -> None: 5635 self._Entity.MinAngleBound = value 5636 5637 @MinStiffnessEihh.setter 5638 def MinStiffnessEihh(self, value: float) -> None: 5639 self._Entity.MinStiffnessEihh = value 5640 5641 @MinStiffnessEivv.setter 5642 def MinStiffnessEivv(self, value: float) -> None: 5643 self._Entity.MinStiffnessEivv = value 5644 5645 @MinStiffnessGJ.setter 5646 def MinStiffnessGJ(self, value: float) -> None: 5647 self._Entity.MinStiffnessGJ = value 5648 5649 @ZoneStiffnessDistribution.setter 5650 def ZoneStiffnessDistribution(self, value: float) -> None: 5651 self._Entity.ZoneStiffnessDistribution = value 5652 5653 @CN_hmax.setter 5654 def CN_hmax(self, value: float) -> None: 5655 self._Entity.CN_hmax = value 5656 5657 @CN_hmin.setter 5658 def CN_hmin(self, value: float) -> None: 5659 self._Entity.CN_hmin = value 5660 5661 @CN_vmax.setter 5662 def CN_vmax(self, value: float) -> None: 5663 self._Entity.CN_vmax = value 5664 5665 @CN_vmin.setter 5666 def CN_vmin(self, value: float) -> None: 5667 self._Entity.CN_vmin = value 5668 5669 @CQ_hmax.setter 5670 def CQ_hmax(self, value: float) -> None: 5671 self._Entity.CQ_hmax = value 5672 5673 @CQ_hmin.setter 5674 def CQ_hmin(self, value: float) -> None: 5675 self._Entity.CQ_hmin = value 5676 5677 @CQ_vmax.setter 5678 def CQ_vmax(self, value: float) -> None: 5679 self._Entity.CQ_vmax = value 5680 5681 @CQ_vmin.setter 5682 def CQ_vmin(self, value: float) -> None: 5683 self._Entity.CQ_vmin = value 5684 5685 def AlignToHorizontalPrincipalAxes(self) -> None: 5686 ''' 5687 Set this Section Cut's horizontal vector to be equal to its principal axis horizontal vector. 5688 ''' 5689 return self._Entity.AlignToHorizontalPrincipalAxes() 5690 5691 def AlignToVerticalPrincipalAxes(self) -> None: 5692 ''' 5693 Set this Section Cut's horizontal vector to be equal to its principal axis vertical vector. 5694 ''' 5695 return self._Entity.AlignToVerticalPrincipalAxes() 5696 5697 def SetHorizontalVector(self, vector: Vector3d) -> None: 5698 return self._Entity.SetHorizontalVector(vector._Entity) 5699 5700 def SetNormalVector(self, vector: Vector3d) -> None: 5701 return self._Entity.SetNormalVector(vector._Entity) 5702 5703 def SetOrigin(self, vector: Vector3d) -> None: 5704 return self._Entity.SetOrigin(vector._Entity) 5705 5706 def GetBeamLoads(self, loadCaseId: int, factor: types.LoadSubCaseFactor) -> BeamLoads: 5707 return BeamLoads(self._Entity.GetBeamLoads(loadCaseId, _types.LoadSubCaseFactor(factor.value))) 5708 5709 def InclinationAngle(self, loadCaseId: int, factor: types.LoadSubCaseFactor) -> float: 5710 return self._Entity.InclinationAngle(loadCaseId, _types.LoadSubCaseFactor(factor.value)) 5711 5712 def HorizontalIntercept(self, loadCaseId: int, factor: types.LoadSubCaseFactor) -> float: 5713 return self._Entity.HorizontalIntercept(loadCaseId, _types.LoadSubCaseFactor(factor.value)) 5714 5715 def VerticalIntercept(self, loadCaseId: int, factor: types.LoadSubCaseFactor) -> float: 5716 return self._Entity.VerticalIntercept(loadCaseId, _types.LoadSubCaseFactor(factor.value)) 5717 5718 def SetElements(self, elements: list[int]) -> bool: 5719 elementsList = MakeCSharpIntList(elements) 5720 return self._Entity.SetElements(elementsList) 5721 5722 def SetElementsByIntersection(self) -> None: 5723 return self._Entity.SetElementsByIntersection() 5724 5725 5726class Set(ZoneJointContainer): 5727 def __init__(self, set: _api.Set): 5728 self._Entity = set 5729 5730 @property 5731 def Joints(self) -> JointCol: 5732 result = self._Entity.Joints 5733 return JointCol(result) if result is not None else None 5734 5735 @property 5736 def PanelSegments(self) -> PanelSegmentCol: 5737 result = self._Entity.PanelSegments 5738 return PanelSegmentCol(result) if result is not None else None 5739 5740 @property 5741 def Zones(self) -> ZoneCol: 5742 result = self._Entity.Zones 5743 return ZoneCol(result) if result is not None else None 5744 5745 @overload 5746 def AddJoint(self, joint: Joint) -> CollectionModificationStatus: ... 5747 5748 @overload 5749 def AddPanelSegment(self, segment: PanelSegment) -> CollectionModificationStatus: ... 5750 5751 @overload 5752 def AddZones(self, zones: tuple[Zone]) -> CollectionModificationStatus: ... 5753 5754 @overload 5755 def RemoveJoints(self, jointIds: tuple[int]) -> CollectionModificationStatus: ... 5756 5757 @overload 5758 def RemovePanelSegments(self, segmentIds: tuple[int]) -> CollectionModificationStatus: ... 5759 5760 @overload 5761 def RemoveZones(self, zoneIds: tuple[int]) -> CollectionModificationStatus: ... 5762 5763 @overload 5764 def AddJoint(self, id: int) -> CollectionModificationStatus: ... 5765 5766 @overload 5767 def RemoveJoint(self, id: int) -> CollectionModificationStatus: ... 5768 5769 @overload 5770 def RemoveJoint(self, joint: Joint) -> CollectionModificationStatus: ... 5771 5772 @overload 5773 def RemoveJoints(self, joints: JointCol) -> CollectionModificationStatus: ... 5774 5775 @overload 5776 def AddZone(self, id: int) -> CollectionModificationStatus: ... 5777 5778 @overload 5779 def AddZones(self, ids: tuple[int]) -> CollectionModificationStatus: ... 5780 5781 @overload 5782 def AddZone(self, zone: Zone) -> CollectionModificationStatus: ... 5783 5784 @overload 5785 def RemoveZone(self, id: int) -> CollectionModificationStatus: ... 5786 5787 @overload 5788 def RemoveZone(self, zone: Zone) -> CollectionModificationStatus: ... 5789 5790 @overload 5791 def RemoveZones(self, zones: ZoneCol) -> CollectionModificationStatus: ... 5792 5793 @overload 5794 def AddPanelSegment(self, id: int) -> CollectionModificationStatus: ... 5795 5796 @overload 5797 def RemovePanelSegment(self, id: int) -> CollectionModificationStatus: ... 5798 5799 @overload 5800 def RemovePanelSegment(self, segment: PanelSegment) -> CollectionModificationStatus: ... 5801 5802 @overload 5803 def RemovePanelSegments(self, segments: PanelSegmentCol) -> CollectionModificationStatus: ... 5804 5805 def AddJoint(self, item1 = None) -> CollectionModificationStatus: 5806 if isinstance(item1, Joint): 5807 return CollectionModificationStatus[self._Entity.AddJoint(item1._Entity).ToString()] 5808 5809 if isinstance(item1, int): 5810 return CollectionModificationStatus(super().AddJoint(item1)) 5811 5812 return CollectionModificationStatus[self._Entity.AddJoint(item1._Entity).ToString()] 5813 5814 def AddPanelSegment(self, item1 = None) -> CollectionModificationStatus: 5815 if isinstance(item1, PanelSegment): 5816 return CollectionModificationStatus[self._Entity.AddPanelSegment(item1._Entity).ToString()] 5817 5818 if isinstance(item1, int): 5819 return CollectionModificationStatus(super().AddPanelSegment(item1)) 5820 5821 return CollectionModificationStatus[self._Entity.AddPanelSegment(item1._Entity).ToString()] 5822 5823 def AddZones(self, item1 = None) -> CollectionModificationStatus: 5824 if isinstance(item1, tuple) and item1 and isinstance(item1[0], Zone): 5825 zonesList = List[_api.Zone]() 5826 if item1 is not None: 5827 for thing in item1: 5828 if thing is not None: 5829 zonesList.Add(thing._Entity) 5830 zonesEnumerable = IEnumerable(zonesList) 5831 return CollectionModificationStatus[self._Entity.AddZones(zonesEnumerable).ToString()] 5832 5833 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int): 5834 return CollectionModificationStatus(super().AddZones(item1)) 5835 5836 return CollectionModificationStatus[self._Entity.AddZones(item1).ToString()] 5837 5838 def RemoveJoints(self, item1 = None) -> CollectionModificationStatus: 5839 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int): 5840 jointIdsList = MakeCSharpIntList(item1) 5841 jointIdsEnumerable = IEnumerable(jointIdsList) 5842 return CollectionModificationStatus[self._Entity.RemoveJoints(jointIdsEnumerable).ToString()] 5843 5844 if isinstance(item1, JointCol): 5845 return CollectionModificationStatus(super().RemoveJoints(item1)) 5846 5847 return CollectionModificationStatus[self._Entity.RemoveJoints(item1).ToString()] 5848 5849 def RemovePanelSegments(self, item1 = None) -> CollectionModificationStatus: 5850 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int): 5851 segmentIdsList = MakeCSharpIntList(item1) 5852 segmentIdsEnumerable = IEnumerable(segmentIdsList) 5853 return CollectionModificationStatus[self._Entity.RemovePanelSegments(segmentIdsEnumerable).ToString()] 5854 5855 if isinstance(item1, PanelSegmentCol): 5856 return CollectionModificationStatus(super().RemovePanelSegments(item1)) 5857 5858 return CollectionModificationStatus[self._Entity.RemovePanelSegments(item1).ToString()] 5859 5860 def RemoveZones(self, item1 = None) -> CollectionModificationStatus: 5861 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int): 5862 zoneIdsList = MakeCSharpIntList(item1) 5863 zoneIdsEnumerable = IEnumerable(zoneIdsList) 5864 return CollectionModificationStatus[self._Entity.RemoveZones(zoneIdsEnumerable).ToString()] 5865 5866 if isinstance(item1, ZoneCol): 5867 return CollectionModificationStatus(super().RemoveZones(item1)) 5868 5869 return CollectionModificationStatus[self._Entity.RemoveZones(item1).ToString()] 5870 5871 def RemoveJoint(self, item1 = None) -> CollectionModificationStatus: 5872 if isinstance(item1, int): 5873 return CollectionModificationStatus(super().RemoveJoint(item1)) 5874 5875 if isinstance(item1, Joint): 5876 return CollectionModificationStatus(super().RemoveJoint(item1)) 5877 5878 return CollectionModificationStatus[self._Entity.RemoveJoint(item1).ToString()] 5879 5880 def AddZone(self, item1 = None) -> CollectionModificationStatus: 5881 if isinstance(item1, int): 5882 return CollectionModificationStatus(super().AddZone(item1)) 5883 5884 if isinstance(item1, Zone): 5885 return CollectionModificationStatus(super().AddZone(item1)) 5886 5887 return CollectionModificationStatus[self._Entity.AddZone(item1).ToString()] 5888 5889 def RemoveZone(self, item1 = None) -> CollectionModificationStatus: 5890 if isinstance(item1, int): 5891 return CollectionModificationStatus(super().RemoveZone(item1)) 5892 5893 if isinstance(item1, Zone): 5894 return CollectionModificationStatus(super().RemoveZone(item1)) 5895 5896 return CollectionModificationStatus[self._Entity.RemoveZone(item1).ToString()] 5897 5898 def RemovePanelSegment(self, item1 = None) -> CollectionModificationStatus: 5899 if isinstance(item1, int): 5900 return CollectionModificationStatus(super().RemovePanelSegment(item1)) 5901 5902 if isinstance(item1, PanelSegment): 5903 return CollectionModificationStatus(super().RemovePanelSegment(item1)) 5904 5905 return CollectionModificationStatus[self._Entity.RemovePanelSegment(item1).ToString()] 5906 5907 5908class PlyCol(IdNameEntityCol[Ply]): 5909 def __init__(self, plyCol: _api.PlyCol): 5910 self._Entity = plyCol 5911 self._CollectedClass = Ply 5912 5913 @property 5914 def PlyColList(self) -> tuple[Ply]: 5915 return tuple([Ply(plyCol) for plyCol in self._Entity]) 5916 5917 def Delete(self, id: int) -> CollectionModificationStatus: 5918 return CollectionModificationStatus[self._Entity.Delete(id).ToString()] 5919 5920 def DeleteAll(self) -> None: 5921 ''' 5922 Delete all plies in the collection. 5923 ''' 5924 return self._Entity.DeleteAll() 5925 5926 def ExportToCSV(self, filepath: str) -> None: 5927 ''' 5928 This feature is in development and may not work as expected. Use at your own risk! 5929 ''' 5930 return self._Entity.ExportToCSV(filepath) 5931 5932 def ImportCSV(self, filepath: str) -> None: 5933 return self._Entity.ImportCSV(filepath) 5934 5935 @overload 5936 def Get(self, name: str) -> Ply: ... 5937 5938 @overload 5939 def Get(self, id: int) -> Ply: ... 5940 5941 def Get(self, item1 = None) -> Ply: 5942 if isinstance(item1, str): 5943 return Ply(super().Get(item1)) 5944 5945 if isinstance(item1, int): 5946 return Ply(super().Get(item1)) 5947 5948 return Ply(self._Entity.Get(item1)) 5949 5950 def __getitem__(self, index: int): 5951 return self.PlyColList[index] 5952 5953 def __iter__(self): 5954 yield from self.PlyColList 5955 5956 def __len__(self): 5957 return len(self.PlyColList) 5958 5959 5960class Structure(ZoneJointContainer): 5961 def __init__(self, structure: _api.Structure): 5962 self._Entity = structure 5963 5964 @property 5965 def Plies(self) -> PlyCol: 5966 result = self._Entity.Plies 5967 return PlyCol(result) if result is not None else None 5968 5969 @property 5970 def Joints(self) -> JointCol: 5971 result = self._Entity.Joints 5972 return JointCol(result) if result is not None else None 5973 5974 @property 5975 def PanelSegments(self) -> PanelSegmentCol: 5976 result = self._Entity.PanelSegments 5977 return PanelSegmentCol(result) if result is not None else None 5978 5979 @property 5980 def Zones(self) -> ZoneCol: 5981 result = self._Entity.Zones 5982 return ZoneCol(result) if result is not None else None 5983 5984 def ExportVCP(self, fileName: str) -> None: 5985 ''' 5986 Export VCP with this structure's element centroids. 5987 ''' 5988 return self._Entity.ExportVCP(fileName) 5989 5990 def AddElements(self, elementIds: tuple[int]) -> CollectionModificationStatus: 5991 elementIdsList = MakeCSharpIntList(elementIds) 5992 elementIdsEnumerable = IEnumerable(elementIdsList) 5993 return CollectionModificationStatus[self._Entity.AddElements(elementIdsEnumerable).ToString()] 5994 5995 @overload 5996 def AddJoint(self, joint: Joint) -> CollectionModificationStatus: ... 5997 5998 @overload 5999 def AddPanelSegment(self, segment: PanelSegment) -> CollectionModificationStatus: ... 6000 6001 def AddPfemProperties(self, pfemPropertyIds: tuple[int]) -> CollectionModificationStatus: 6002 pfemPropertyIdsList = MakeCSharpIntList(pfemPropertyIds) 6003 pfemPropertyIdsEnumerable = IEnumerable(pfemPropertyIdsList) 6004 return CollectionModificationStatus[self._Entity.AddPfemProperties(pfemPropertyIdsEnumerable).ToString()] 6005 6006 @overload 6007 def AddZones(self, zones: tuple[Zone]) -> CollectionModificationStatus: ... 6008 6009 def CreateZone(self, elementIds: tuple[int], name: str = None) -> Zone: 6010 elementIdsList = MakeCSharpIntList(elementIds) 6011 elementIdsEnumerable = IEnumerable(elementIdsList) 6012 result = self._Entity.CreateZone(elementIdsEnumerable, name) 6013 thisClass = type(result).__name__ 6014 givenClass = Zone 6015 for subclass in Zone.__subclasses__(): 6016 if subclass.__name__ == thisClass: 6017 givenClass = subclass 6018 return givenClass(result) 6019 6020 def CreatePanelSegment(self, discreteTechnique: types.DiscreteTechnique, discreteElementLkp: dict[types.DiscreteDefinitionType, list[int]], name: str = None) -> PanelSegment: 6021 discreteElementLkpDict = Dictionary[_types.DiscreteDefinitionType, List[int]]() 6022 for kvp in discreteElementLkp: 6023 discreteElementLkpDict.Add(_types.DiscreteDefinitionType(kvp.value), MakeCSharpIntList(discreteElementLkp[kvp])) 6024 return PanelSegment(self._Entity.CreatePanelSegment(_types.DiscreteTechnique(discreteTechnique.value), discreteElementLkpDict, name)) 6025 6026 @overload 6027 def Remove(self, zoneIds: tuple[int], jointIds: tuple[int]) -> CollectionModificationStatus: ... 6028 6029 @overload 6030 def Remove(self, zoneIds: tuple[int], jointIds: tuple[int], panelSegmentIds: tuple[int]) -> CollectionModificationStatus: ... 6031 6032 @overload 6033 def RemoveJoints(self, jointIds: tuple[int]) -> CollectionModificationStatus: ... 6034 6035 @overload 6036 def RemovePanelSegments(self, segmentIds: tuple[int]) -> CollectionModificationStatus: ... 6037 6038 @overload 6039 def RemoveZones(self, zoneIds: tuple[int]) -> CollectionModificationStatus: ... 6040 6041 @overload 6042 def AddJoint(self, id: int) -> CollectionModificationStatus: ... 6043 6044 @overload 6045 def RemoveJoint(self, id: int) -> CollectionModificationStatus: ... 6046 6047 @overload 6048 def RemoveJoint(self, joint: Joint) -> CollectionModificationStatus: ... 6049 6050 @overload 6051 def RemoveJoints(self, joints: JointCol) -> CollectionModificationStatus: ... 6052 6053 @overload 6054 def AddZone(self, id: int) -> CollectionModificationStatus: ... 6055 6056 @overload 6057 def AddZones(self, ids: tuple[int]) -> CollectionModificationStatus: ... 6058 6059 @overload 6060 def AddZone(self, zone: Zone) -> CollectionModificationStatus: ... 6061 6062 @overload 6063 def RemoveZone(self, id: int) -> CollectionModificationStatus: ... 6064 6065 @overload 6066 def RemoveZone(self, zone: Zone) -> CollectionModificationStatus: ... 6067 6068 @overload 6069 def RemoveZones(self, zones: ZoneCol) -> CollectionModificationStatus: ... 6070 6071 @overload 6072 def AddPanelSegment(self, id: int) -> CollectionModificationStatus: ... 6073 6074 @overload 6075 def RemovePanelSegment(self, id: int) -> CollectionModificationStatus: ... 6076 6077 @overload 6078 def RemovePanelSegment(self, segment: PanelSegment) -> CollectionModificationStatus: ... 6079 6080 @overload 6081 def RemovePanelSegments(self, segments: PanelSegmentCol) -> CollectionModificationStatus: ... 6082 6083 def AddJoint(self, item1 = None) -> CollectionModificationStatus: 6084 if isinstance(item1, Joint): 6085 return CollectionModificationStatus[self._Entity.AddJoint(item1._Entity).ToString()] 6086 6087 if isinstance(item1, int): 6088 return CollectionModificationStatus(super().AddJoint(item1)) 6089 6090 return CollectionModificationStatus[self._Entity.AddJoint(item1._Entity).ToString()] 6091 6092 def AddPanelSegment(self, item1 = None) -> CollectionModificationStatus: 6093 if isinstance(item1, PanelSegment): 6094 return CollectionModificationStatus[self._Entity.AddPanelSegment(item1._Entity).ToString()] 6095 6096 if isinstance(item1, int): 6097 return CollectionModificationStatus(super().AddPanelSegment(item1)) 6098 6099 return CollectionModificationStatus[self._Entity.AddPanelSegment(item1._Entity).ToString()] 6100 6101 def AddZones(self, item1 = None) -> CollectionModificationStatus: 6102 if isinstance(item1, tuple) and item1 and isinstance(item1[0], Zone): 6103 zonesList = List[_api.Zone]() 6104 if item1 is not None: 6105 for thing in item1: 6106 if thing is not None: 6107 zonesList.Add(thing._Entity) 6108 zonesEnumerable = IEnumerable(zonesList) 6109 return CollectionModificationStatus[self._Entity.AddZones(zonesEnumerable).ToString()] 6110 6111 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int): 6112 return CollectionModificationStatus(super().AddZones(item1)) 6113 6114 return CollectionModificationStatus[self._Entity.AddZones(item1).ToString()] 6115 6116 def Remove(self, item1 = None, item2 = None, item3 = None) -> CollectionModificationStatus: 6117 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int) and isinstance(item2, tuple) and item2 and isinstance(item2[0], int) and isinstance(item3, tuple) and item3 and isinstance(item3[0], int): 6118 zoneIdsList = MakeCSharpIntList(item1) 6119 zoneIdsEnumerable = IEnumerable(zoneIdsList) 6120 jointIdsList = MakeCSharpIntList(item2) 6121 jointIdsEnumerable = IEnumerable(jointIdsList) 6122 panelSegmentIdsList = MakeCSharpIntList(item3) 6123 panelSegmentIdsEnumerable = IEnumerable(panelSegmentIdsList) 6124 return CollectionModificationStatus[self._Entity.Remove(zoneIdsEnumerable, jointIdsEnumerable, panelSegmentIdsEnumerable).ToString()] 6125 6126 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int) and isinstance(item2, tuple) and item2 and isinstance(item2[0], int): 6127 zoneIdsList = MakeCSharpIntList(item1) 6128 zoneIdsEnumerable = IEnumerable(zoneIdsList) 6129 jointIdsList = MakeCSharpIntList(item2) 6130 jointIdsEnumerable = IEnumerable(jointIdsList) 6131 return CollectionModificationStatus[self._Entity.Remove(zoneIdsEnumerable, jointIdsEnumerable).ToString()] 6132 6133 return CollectionModificationStatus[self._Entity.Remove(item1, item2, item3).ToString()] 6134 6135 def RemoveJoints(self, item1 = None) -> CollectionModificationStatus: 6136 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int): 6137 jointIdsList = MakeCSharpIntList(item1) 6138 jointIdsEnumerable = IEnumerable(jointIdsList) 6139 return CollectionModificationStatus[self._Entity.RemoveJoints(jointIdsEnumerable).ToString()] 6140 6141 if isinstance(item1, JointCol): 6142 return CollectionModificationStatus(super().RemoveJoints(item1)) 6143 6144 return CollectionModificationStatus[self._Entity.RemoveJoints(item1).ToString()] 6145 6146 def RemovePanelSegments(self, item1 = None) -> CollectionModificationStatus: 6147 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int): 6148 segmentIdsList = MakeCSharpIntList(item1) 6149 segmentIdsEnumerable = IEnumerable(segmentIdsList) 6150 return CollectionModificationStatus[self._Entity.RemovePanelSegments(segmentIdsEnumerable).ToString()] 6151 6152 if isinstance(item1, PanelSegmentCol): 6153 return CollectionModificationStatus(super().RemovePanelSegments(item1)) 6154 6155 return CollectionModificationStatus[self._Entity.RemovePanelSegments(item1).ToString()] 6156 6157 def RemoveZones(self, item1 = None) -> CollectionModificationStatus: 6158 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int): 6159 zoneIdsList = MakeCSharpIntList(item1) 6160 zoneIdsEnumerable = IEnumerable(zoneIdsList) 6161 return CollectionModificationStatus[self._Entity.RemoveZones(zoneIdsEnumerable).ToString()] 6162 6163 if isinstance(item1, ZoneCol): 6164 return CollectionModificationStatus(super().RemoveZones(item1)) 6165 6166 return CollectionModificationStatus[self._Entity.RemoveZones(item1).ToString()] 6167 6168 def RemoveJoint(self, item1 = None) -> CollectionModificationStatus: 6169 if isinstance(item1, int): 6170 return CollectionModificationStatus(super().RemoveJoint(item1)) 6171 6172 if isinstance(item1, Joint): 6173 return CollectionModificationStatus(super().RemoveJoint(item1)) 6174 6175 return CollectionModificationStatus[self._Entity.RemoveJoint(item1).ToString()] 6176 6177 def AddZone(self, item1 = None) -> CollectionModificationStatus: 6178 if isinstance(item1, int): 6179 return CollectionModificationStatus(super().AddZone(item1)) 6180 6181 if isinstance(item1, Zone): 6182 return CollectionModificationStatus(super().AddZone(item1)) 6183 6184 return CollectionModificationStatus[self._Entity.AddZone(item1).ToString()] 6185 6186 def RemoveZone(self, item1 = None) -> CollectionModificationStatus: 6187 if isinstance(item1, int): 6188 return CollectionModificationStatus(super().RemoveZone(item1)) 6189 6190 if isinstance(item1, Zone): 6191 return CollectionModificationStatus(super().RemoveZone(item1)) 6192 6193 return CollectionModificationStatus[self._Entity.RemoveZone(item1).ToString()] 6194 6195 def RemovePanelSegment(self, item1 = None) -> CollectionModificationStatus: 6196 if isinstance(item1, int): 6197 return CollectionModificationStatus(super().RemovePanelSegment(item1)) 6198 6199 if isinstance(item1, PanelSegment): 6200 return CollectionModificationStatus(super().RemovePanelSegment(item1)) 6201 6202 return CollectionModificationStatus[self._Entity.RemovePanelSegment(item1).ToString()] 6203 6204 6205class AnalysisPropertyCol(IdNameEntityCol[AnalysisProperty]): 6206 def __init__(self, analysisPropertyCol: _api.AnalysisPropertyCol): 6207 self._Entity = analysisPropertyCol 6208 self._CollectedClass = AnalysisProperty 6209 6210 @property 6211 def AnalysisPropertyColList(self) -> tuple[AnalysisProperty]: 6212 return tuple([AnalysisProperty(analysisPropertyCol) for analysisPropertyCol in self._Entity]) 6213 6214 def CreateAnalysisProperty(self, type: types.FamilyCategory, name: str = None) -> AnalysisProperty: 6215 ''' 6216 Create an AnalysisProperty. 6217 ''' 6218 return AnalysisProperty(self._Entity.CreateAnalysisProperty(_types.FamilyCategory(type.value), name)) 6219 6220 @overload 6221 def DeleteAnalysisProperty(self, name: str) -> bool: ... 6222 6223 @overload 6224 def DeleteAnalysisProperty(self, id: int) -> bool: ... 6225 6226 @overload 6227 def Get(self, name: str) -> AnalysisProperty: ... 6228 6229 @overload 6230 def Get(self, id: int) -> AnalysisProperty: ... 6231 6232 def DeleteAnalysisProperty(self, item1 = None) -> bool: 6233 if isinstance(item1, str): 6234 return self._Entity.DeleteAnalysisProperty(item1) 6235 6236 if isinstance(item1, int): 6237 return self._Entity.DeleteAnalysisProperty(item1) 6238 6239 return self._Entity.DeleteAnalysisProperty(item1) 6240 6241 def Get(self, item1 = None) -> AnalysisProperty: 6242 if isinstance(item1, str): 6243 return AnalysisProperty(super().Get(item1)) 6244 6245 if isinstance(item1, int): 6246 return AnalysisProperty(super().Get(item1)) 6247 6248 return AnalysisProperty(self._Entity.Get(item1)) 6249 6250 def __getitem__(self, index: int): 6251 return self.AnalysisPropertyColList[index] 6252 6253 def __iter__(self): 6254 yield from self.AnalysisPropertyColList 6255 6256 def __len__(self): 6257 return len(self.AnalysisPropertyColList) 6258 6259 6260class DesignPropertyCol(IdNameEntityCol[DesignProperty]): 6261 def __init__(self, designPropertyCol: _api.DesignPropertyCol): 6262 self._Entity = designPropertyCol 6263 self._CollectedClass = DesignProperty 6264 6265 @property 6266 def DesignPropertyColList(self) -> tuple[DesignProperty]: 6267 return tuple([DesignProperty(designPropertyCol) for designPropertyCol in self._Entity]) 6268 6269 def CreateDesignProperty(self, familyConcept: types.FamilyConceptUID, materialMode: types.MaterialMode = types.MaterialMode.Any, name: str = None) -> DesignProperty: 6270 ''' 6271 Create a DesignProperty. 6272 ''' 6273 result = self._Entity.CreateDesignProperty(_types.FamilyConceptUID(familyConcept.value), _types.MaterialMode(materialMode.value), name) 6274 thisClass = type(result).__name__ 6275 givenClass = DesignProperty 6276 for subclass in DesignProperty.__subclasses__(): 6277 if subclass.__name__ == thisClass: 6278 givenClass = subclass 6279 return givenClass(result) 6280 6281 @overload 6282 def Get(self, name: str) -> DesignProperty: ... 6283 6284 @overload 6285 def Get(self, id: int) -> DesignProperty: ... 6286 6287 def Get(self, item1 = None) -> DesignProperty: 6288 if isinstance(item1, str): 6289 return DesignProperty(super().Get(item1)) 6290 6291 if isinstance(item1, int): 6292 return DesignProperty(super().Get(item1)) 6293 6294 result = self._Entity.Get(item1) 6295 thisClass = type(result).__name__ 6296 givenClass = DesignProperty 6297 for subclass in DesignProperty.__subclasses__(): 6298 if subclass.__name__ == thisClass: 6299 givenClass = subclass 6300 return givenClass(result) 6301 6302 def __getitem__(self, index: int): 6303 return self.DesignPropertyColList[index] 6304 6305 def __iter__(self): 6306 yield from self.DesignPropertyColList 6307 6308 def __len__(self): 6309 return len(self.DesignPropertyColList) 6310 6311 6312class LoadPropertyCol(IdNameEntityCol[LoadProperty]): 6313 def __init__(self, loadPropertyCol: _api.LoadPropertyCol): 6314 self._Entity = loadPropertyCol 6315 self._CollectedClass = LoadProperty 6316 6317 @property 6318 def LoadPropertyColList(self) -> tuple[LoadProperty]: 6319 return tuple([LoadProperty(loadPropertyCol) for loadPropertyCol in self._Entity]) 6320 6321 def CreateLoadProperty(self, loadPropertyType: types.LoadPropertyType, category: types.FamilyCategory, name: str = None) -> LoadProperty: 6322 ''' 6323 Create a new load property. 6324 ''' 6325 result = self._Entity.CreateLoadProperty(_types.LoadPropertyType(loadPropertyType.value), _types.FamilyCategory(category.value), name) 6326 thisClass = type(result).__name__ 6327 givenClass = LoadProperty 6328 for subclass in LoadProperty.__subclasses__(): 6329 if subclass.__name__ == thisClass: 6330 givenClass = subclass 6331 return givenClass(result) 6332 6333 @overload 6334 def DeleteLoadProperty(self, id: int) -> bool: ... 6335 6336 @overload 6337 def DeleteLoadProperty(self, name: str) -> bool: ... 6338 6339 @overload 6340 def Get(self, name: str) -> LoadProperty: ... 6341 6342 @overload 6343 def Get(self, id: int) -> LoadProperty: ... 6344 6345 def DeleteLoadProperty(self, item1 = None) -> bool: 6346 if isinstance(item1, int): 6347 return self._Entity.DeleteLoadProperty(item1) 6348 6349 if isinstance(item1, str): 6350 return self._Entity.DeleteLoadProperty(item1) 6351 6352 return self._Entity.DeleteLoadProperty(item1) 6353 6354 def Get(self, item1 = None) -> LoadProperty: 6355 if isinstance(item1, str): 6356 return LoadProperty(super().Get(item1)) 6357 6358 if isinstance(item1, int): 6359 return LoadProperty(super().Get(item1)) 6360 6361 result = self._Entity.Get(item1) 6362 thisClass = type(result).__name__ 6363 givenClass = LoadProperty 6364 for subclass in LoadProperty.__subclasses__(): 6365 if subclass.__name__ == thisClass: 6366 givenClass = subclass 6367 return givenClass(result) 6368 6369 def __getitem__(self, index: int): 6370 return self.LoadPropertyColList[index] 6371 6372 def __iter__(self): 6373 yield from self.LoadPropertyColList 6374 6375 def __len__(self): 6376 return len(self.LoadPropertyColList) 6377 6378 6379class DesignLoadCol(IdNameEntityCol[DesignLoad]): 6380 def __init__(self, designLoadCol: _api.DesignLoadCol): 6381 self._Entity = designLoadCol 6382 self._CollectedClass = DesignLoad 6383 6384 @property 6385 def DesignLoadColList(self) -> tuple[DesignLoad]: 6386 return tuple([DesignLoad(designLoadCol) for designLoadCol in self._Entity]) 6387 6388 @overload 6389 def Get(self, name: str) -> DesignLoad: ... 6390 6391 @overload 6392 def Get(self, id: int) -> DesignLoad: ... 6393 6394 def Get(self, item1 = None) -> DesignLoad: 6395 if isinstance(item1, str): 6396 return DesignLoad(super().Get(item1)) 6397 6398 if isinstance(item1, int): 6399 return DesignLoad(super().Get(item1)) 6400 6401 return DesignLoad(self._Entity.Get(item1)) 6402 6403 def __getitem__(self, index: int): 6404 return self.DesignLoadColList[index] 6405 6406 def __iter__(self): 6407 yield from self.DesignLoadColList 6408 6409 def __len__(self): 6410 return len(self.DesignLoadColList) 6411 6412 6413class DiscreteFieldCol(IdNameEntityCol[DiscreteField]): 6414 def __init__(self, discreteFieldCol: _api.DiscreteFieldCol): 6415 self._Entity = discreteFieldCol 6416 self._CollectedClass = DiscreteField 6417 6418 @property 6419 def DiscreteFieldColList(self) -> tuple[DiscreteField]: 6420 return tuple([DiscreteField(discreteFieldCol) for discreteFieldCol in self._Entity]) 6421 6422 def Create(self, entityType: types.DiscreteFieldPhysicalEntityType, dataType: types.DiscreteFieldDataType, name: str = None) -> DiscreteField: 6423 ''' 6424 Create a new DiscreteField. 6425 ''' 6426 return DiscreteField(self._Entity.Create(_types.DiscreteFieldPhysicalEntityType(entityType.value), _types.DiscreteFieldDataType(dataType.value), name)) 6427 6428 def CreateFromVCP(self, filepath: str) -> list[DiscreteField]: 6429 ''' 6430 Create a list of DiscreteFields from VCP. 6431 ''' 6432 return [DiscreteField(discreteField) for discreteField in self._Entity.CreateFromVCP(filepath)] 6433 6434 def Delete(self, id: int) -> CollectionModificationStatus: 6435 ''' 6436 In the event of getting a CollectionModificationStatus.EntityMissingRemovalFailure, 6437 note that the discrete field is associated with a ply, and therefore cannot be deleted. 6438 ''' 6439 return CollectionModificationStatus[self._Entity.Delete(id).ToString()] 6440 6441 def CreateByPointMapToElements(self, elementIds: list[int], discreteFieldIds: list[int], suffix: str = None, tolerance: float = None) -> list[DiscreteField]: 6442 elementIdsList = MakeCSharpIntList(elementIds) 6443 discreteFieldIdsList = MakeCSharpIntList(discreteFieldIds) 6444 return [DiscreteField(discreteField) for discreteField in self._Entity.CreateByPointMapToElements(elementIdsList, discreteFieldIdsList, suffix, tolerance)] 6445 6446 @overload 6447 def Get(self, name: str) -> DiscreteField: ... 6448 6449 @overload 6450 def Get(self, id: int) -> DiscreteField: ... 6451 6452 def Get(self, item1 = None) -> DiscreteField: 6453 if isinstance(item1, str): 6454 return DiscreteField(super().Get(item1)) 6455 6456 if isinstance(item1, int): 6457 return DiscreteField(super().Get(item1)) 6458 6459 return DiscreteField(self._Entity.Get(item1)) 6460 6461 def __getitem__(self, index: int): 6462 return self.DiscreteFieldColList[index] 6463 6464 def __iter__(self): 6465 yield from self.DiscreteFieldColList 6466 6467 def __len__(self): 6468 return len(self.DiscreteFieldColList) 6469 6470 6471class ZoneJointContainerCol(IdNameEntityCol, Generic[T]): 6472 def __init__(self, zoneJointContainerCol: _api.ZoneJointContainerCol): 6473 self._Entity = zoneJointContainerCol 6474 self._CollectedClass = T 6475 6476 @property 6477 def ZoneJointContainerColList(self) -> tuple[T]: 6478 if self._Entity.Count() <= 0: 6479 return () 6480 thisClass = type(self._Entity._items[0]).__name__ 6481 givenClass = T 6482 for subclass in T.__subclasses__(): 6483 if subclass.__name__ == thisClass: 6484 givenClass = subclass 6485 return tuple([givenClass(zoneJointContainerCol) for zoneJointContainerCol in self._Entity]) 6486 6487 @abstractmethod 6488 def Create(self, name: str) -> T: 6489 return self._Entity.Create(name) 6490 6491 @overload 6492 def Get(self, name: str) -> T: ... 6493 6494 @overload 6495 def Get(self, id: int) -> T: ... 6496 6497 def Get(self, item1 = None) -> T: 6498 if isinstance(item1, str): 6499 return super().Get(item1) 6500 6501 if isinstance(item1, int): 6502 return super().Get(item1) 6503 6504 return self._Entity.Get(item1) 6505 6506 def __getitem__(self, index: int): 6507 return self.ZoneJointContainerColList[index] 6508 6509 def __iter__(self): 6510 yield from self.ZoneJointContainerColList 6511 6512 def __len__(self): 6513 return len(self.ZoneJointContainerColList) 6514 6515 6516class RundeckCol(IdEntityCol[Rundeck]): 6517 def __init__(self, rundeckCol: _api.RundeckCol): 6518 self._Entity = rundeckCol 6519 self._CollectedClass = Rundeck 6520 6521 @property 6522 def RundeckColList(self) -> tuple[Rundeck]: 6523 return tuple([Rundeck(rundeckCol) for rundeckCol in self._Entity]) 6524 6525 def AddRundeck(self, inputPath: str, resultPath: str = None) -> Rundeck: 6526 ''' 6527 The specified rundeck at the given filepath will be added to the project's 6528 collection of rundecks 6529 :param inputPath: The path to the rundeck 6530 :param resultPath: The path to the rundeck's corresponding result file 6531 ''' 6532 return Rundeck(self._Entity.AddRundeck(inputPath, resultPath)) 6533 6534 def ReassignPrimary(self, id: int) -> RundeckUpdateStatus: 6535 ''' 6536 The specified rundeck will be updated to become the new primary rundeck. 6537 ''' 6538 return RundeckUpdateStatus[self._Entity.ReassignPrimary(id).ToString()] 6539 6540 def RemoveRundeck(self, id: int) -> RundeckRemoveStatus: 6541 ''' 6542 The specified rundeck at the given filepath will be removed from the project's 6543 collection of rundecks 6544 :param id: The id of the rundeck to remove 6545 ''' 6546 return RundeckRemoveStatus[self._Entity.RemoveRundeck(id).ToString()] 6547 6548 def UpdateAllRundecks(self, newPaths: list[RundeckPathPair]) -> RundeckBulkUpdateStatus: 6549 newPathsList = List[_api.RundeckPathPair]() 6550 if newPaths is not None: 6551 for thing in newPaths: 6552 if thing is not None: 6553 newPathsList.Add(thing._Entity) 6554 return RundeckBulkUpdateStatus[self._Entity.UpdateAllRundecks(newPathsList).ToString()] 6555 6556 def GetRundeckPathSetters(self) -> list[RundeckPathPair]: 6557 ''' 6558 Get RundeckPathSetters to be edited and input to UpdateAllRundecks. 6559 ''' 6560 return [RundeckPathPair(rundeckPathPair) for rundeckPathPair in self._Entity.GetRundeckPathSetters()] 6561 6562 def ReplaceStringInAllPaths(self, stringToReplace: str, newString: str) -> RundeckBulkUpdateStatus: 6563 ''' 6564 Replace a given string with a new string in every rundeck path. This is useful when pointing to rundecks of the same name in a new directory. 6565 ''' 6566 return RundeckBulkUpdateStatus[self._Entity.ReplaceStringInAllPaths(stringToReplace, newString).ToString()] 6567 6568 def __getitem__(self, index: int): 6569 return self.RundeckColList[index] 6570 6571 def __iter__(self): 6572 yield from self.RundeckColList 6573 6574 def __len__(self): 6575 return len(self.RundeckColList) 6576 6577 6578class SectionCutCol(IdNameEntityCol[SectionCut]): 6579 def __init__(self, sectionCutCol: _api.SectionCutCol): 6580 self._Entity = sectionCutCol 6581 self._CollectedClass = SectionCut 6582 6583 @property 6584 def SectionCutColList(self) -> tuple[SectionCut]: 6585 return tuple([SectionCut(sectionCutCol) for sectionCutCol in self._Entity]) 6586 6587 def Create(self, origin: Vector3d, normal: Vector3d, horizontal: Vector3d, name: str = None) -> SectionCut: 6588 return SectionCut(self._Entity.Create(origin._Entity, normal._Entity, horizontal._Entity, name)) 6589 6590 def Delete(self, id: int) -> CollectionModificationStatus: 6591 return CollectionModificationStatus[self._Entity.Delete(id).ToString()] 6592 6593 @overload 6594 def Get(self, name: str) -> SectionCut: ... 6595 6596 @overload 6597 def Get(self, id: int) -> SectionCut: ... 6598 6599 def Get(self, item1 = None) -> SectionCut: 6600 if isinstance(item1, str): 6601 return SectionCut(super().Get(item1)) 6602 6603 if isinstance(item1, int): 6604 return SectionCut(super().Get(item1)) 6605 6606 return SectionCut(self._Entity.Get(item1)) 6607 6608 def __getitem__(self, index: int): 6609 return self.SectionCutColList[index] 6610 6611 def __iter__(self): 6612 yield from self.SectionCutColList 6613 6614 def __len__(self): 6615 return len(self.SectionCutColList) 6616 6617 6618class SetCol(ZoneJointContainerCol[Set]): 6619 def __init__(self, setCol: _api.SetCol): 6620 self._Entity = setCol 6621 self._CollectedClass = Set 6622 6623 @property 6624 def SetColList(self) -> tuple[Set]: 6625 return tuple([Set(setCol) for setCol in self._Entity]) 6626 6627 def Create(self, name: str = None) -> Set: 6628 ''' 6629 Attempt to create a new Set. 6630 :param name: The name of the set to be created. 6631 ''' 6632 return Set(self._Entity.Create(name)) 6633 6634 @overload 6635 def Get(self, name: str) -> Set: ... 6636 6637 @overload 6638 def Get(self, id: int) -> Set: ... 6639 6640 def Get(self, item1 = None) -> Set: 6641 if isinstance(item1, str): 6642 return Set(super().Get(item1)) 6643 6644 if isinstance(item1, int): 6645 return Set(super().Get(item1)) 6646 6647 return Set(self._Entity.Get(item1)) 6648 6649 def __getitem__(self, index: int): 6650 return self.SetColList[index] 6651 6652 def __iter__(self): 6653 yield from self.SetColList 6654 6655 def __len__(self): 6656 return len(self.SetColList) 6657 6658 6659class StructureCol(ZoneJointContainerCol[Structure]): 6660 def __init__(self, structureCol: _api.StructureCol): 6661 self._Entity = structureCol 6662 self._CollectedClass = Structure 6663 6664 @property 6665 def StructureColList(self) -> tuple[Structure]: 6666 return tuple([Structure(structureCol) for structureCol in self._Entity]) 6667 6668 def Create(self, name: str = None) -> Structure: 6669 ''' 6670 Attempt to create a new structure. 6671 If the specified name is already used, it will be deconflicted. 6672 :param name: The name of the structure to be created. 6673 ''' 6674 return Structure(self._Entity.Create(name)) 6675 6676 @overload 6677 def DeleteStructure(self, structure: Structure) -> bool: ... 6678 6679 @overload 6680 def DeleteStructure(self, name: str) -> bool: ... 6681 6682 @overload 6683 def DeleteStructure(self, id: int) -> bool: ... 6684 6685 @overload 6686 def Get(self, name: str) -> Structure: ... 6687 6688 @overload 6689 def Get(self, id: int) -> Structure: ... 6690 6691 def DeleteStructure(self, item1 = None) -> bool: 6692 if isinstance(item1, Structure): 6693 return self._Entity.DeleteStructure(item1._Entity) 6694 6695 if isinstance(item1, str): 6696 return self._Entity.DeleteStructure(item1) 6697 6698 if isinstance(item1, int): 6699 return self._Entity.DeleteStructure(item1) 6700 6701 return self._Entity.DeleteStructure(item1._Entity) 6702 6703 def Get(self, item1 = None) -> Structure: 6704 if isinstance(item1, str): 6705 return Structure(super().Get(item1)) 6706 6707 if isinstance(item1, int): 6708 return Structure(super().Get(item1)) 6709 6710 return Structure(self._Entity.Get(item1)) 6711 6712 def __getitem__(self, index: int): 6713 return self.StructureColList[index] 6714 6715 def __iter__(self): 6716 yield from self.StructureColList 6717 6718 def __len__(self): 6719 return len(self.StructureColList) 6720 6721 6722class Project: 6723 ''' 6724 Represents a HyperX project within a database. 6725 ''' 6726 def __init__(self, project: _api.Project): 6727 self._Entity = project 6728 6729 @property 6730 def HyperFea(self) -> HyperFea: 6731 result = self._Entity.HyperFea 6732 return HyperFea(result) if result is not None else None 6733 6734 @property 6735 def WorkingFolder(self) -> str: 6736 return self._Entity.WorkingFolder 6737 6738 @property 6739 def FemDataSet(self) -> FemDataSet: 6740 result = self._Entity.FemDataSet 6741 return FemDataSet(result) if result is not None else None 6742 6743 @property 6744 def Beams(self) -> ZoneCol: 6745 result = self._Entity.Beams 6746 return ZoneCol(result) if result is not None else None 6747 6748 @property 6749 def Id(self) -> int: 6750 return self._Entity.Id 6751 6752 @property 6753 def Joints(self) -> JointCol: 6754 result = self._Entity.Joints 6755 return JointCol(result) if result is not None else None 6756 6757 @property 6758 def Name(self) -> str: 6759 return self._Entity.Name 6760 6761 @property 6762 def Panels(self) -> ZoneCol: 6763 result = self._Entity.Panels 6764 return ZoneCol(result) if result is not None else None 6765 6766 @property 6767 def Rundecks(self) -> RundeckCol: 6768 result = self._Entity.Rundecks 6769 return RundeckCol(result) if result is not None else None 6770 6771 @property 6772 def Sets(self) -> SetCol: 6773 result = self._Entity.Sets 6774 return SetCol(result) if result is not None else None 6775 6776 @property 6777 def Structures(self) -> StructureCol: 6778 result = self._Entity.Structures 6779 return StructureCol(result) if result is not None else None 6780 6781 @property 6782 def Zones(self) -> ZoneCol: 6783 result = self._Entity.Zones 6784 return ZoneCol(result) if result is not None else None 6785 6786 @property 6787 def PanelSegments(self) -> PanelSegmentCol: 6788 result = self._Entity.PanelSegments 6789 return PanelSegmentCol(result) if result is not None else None 6790 6791 @property 6792 def SectionCuts(self) -> SectionCutCol: 6793 result = self._Entity.SectionCuts 6794 return SectionCutCol(result) if result is not None else None 6795 6796 @property 6797 def DesignLoads(self) -> DesignLoadCol: 6798 result = self._Entity.DesignLoads 6799 return DesignLoadCol(result) if result is not None else None 6800 6801 @property 6802 def DiscreteFieldTables(self) -> DiscreteFieldCol: 6803 result = self._Entity.DiscreteFieldTables 6804 return DiscreteFieldCol(result) if result is not None else None 6805 6806 @property 6807 def AnalysisProperties(self) -> AnalysisPropertyCol: 6808 result = self._Entity.AnalysisProperties 6809 return AnalysisPropertyCol(result) if result is not None else None 6810 6811 @property 6812 def DesignProperties(self) -> DesignPropertyCol: 6813 result = self._Entity.DesignProperties 6814 return DesignPropertyCol(result) if result is not None else None 6815 6816 @property 6817 def LoadProperties(self) -> LoadPropertyCol: 6818 result = self._Entity.LoadProperties 6819 return LoadPropertyCol(result) if result is not None else None 6820 6821 @property 6822 def FemFormat(self) -> types.ProjectModelFormat: 6823 return types.ProjectModelFormat[self._Entity.FemFormat.ToString()] 6824 6825 def Upload(self, uploadSetName: str, company: str, program: str, tags: list[str], notes: str, zoneIds: set[int], jointIds: set[int]) -> bool: 6826 tagsList = List[str]() 6827 if tags is not None: 6828 for thing in tags: 6829 if thing is not None: 6830 tagsList.Add(thing) 6831 zoneIdsSet = HashSet[int]() 6832 if zoneIds is not None: 6833 for thing in zoneIds: 6834 if thing is not None: 6835 zoneIdsSet.Add(thing) 6836 jointIdsSet = HashSet[int]() 6837 if jointIds is not None: 6838 for thing in jointIds: 6839 if thing is not None: 6840 jointIdsSet.Add(thing) 6841 return self._Entity.Upload(uploadSetName, company, program, tagsList, notes, zoneIdsSet, jointIdsSet) 6842 6843 def GetDashboardCompanies(self) -> list[str]: 6844 ''' 6845 This method fetches an array of Dashboard company names that are available to the user who is currently logged in. The URL and authentication token are taken from the last 6846 Dashboard login made through HyperX. 6847 ''' 6848 return list[str](self._Entity.GetDashboardCompanies()) 6849 6850 def GetDashboardPrograms(self, companyName: str) -> list[str]: 6851 ''' 6852 This method fetches an array of Dashboard program names that are available to the user who is currently logged in. The URL and authentication token are taken from the last 6853 Dashboard login made through HyperX. 6854 ''' 6855 return list[str](self._Entity.GetDashboardPrograms(companyName)) 6856 6857 def GetDashboardTags(self, companyName: str) -> list[str]: 6858 ''' 6859 This method fetches an array of Dashboard tags that are available to the user who is currently logged in. The URL and authentication token are taken from the last 6860 Dashboard login made through HyperX. 6861 ''' 6862 return list[str](self._Entity.GetDashboardTags(companyName)) 6863 6864 def Dispose(self) -> None: 6865 return self._Entity.Dispose() 6866 6867 def ImportFem(self) -> None: 6868 return self._Entity.ImportFem() 6869 6870 def ImportFeaResults(self, alwaysImport: bool = False) -> str: 6871 ''' 6872 Manually import design loads. 6873 :param alwaysImport: If true, loads are imported even if loads have already previously been imported. 6874 ''' 6875 return self._Entity.ImportFeaResults(alwaysImport) 6876 6877 def SetFemFormat(self, femFormat: types.ProjectModelFormat) -> None: 6878 return self._Entity.SetFemFormat(_types.ProjectModelFormat(femFormat.value)) 6879 6880 def SetFemUnits(self, femForceId: DbForceUnit, femLengthId: DbLengthUnit, femMassId: DbMassUnit, femTemperatureId: DbTemperatureUnit) -> SetUnitsStatus: 6881 return SetUnitsStatus[self._Entity.SetFemUnits(_api.DbForceUnit(femForceId.value), _api.DbLengthUnit(femLengthId.value), _api.DbMassUnit(femMassId.value), _api.DbTemperatureUnit(femTemperatureId.value)).ToString()] 6882 6883 def SizeJoints(self, joints: list[Joint] = None) -> types.SimpleStatus: 6884 jointsList = List[_api.Joint]() 6885 if joints is not None: 6886 for thing in joints: 6887 if thing is not None: 6888 jointsList.Add(thing._Entity) 6889 return types.SimpleStatus(self._Entity.SizeJoints(joints if joints is None else jointsList)) 6890 6891 def GetJointsWithoutResults(self, joints: list[Joint]) -> set[int]: 6892 jointsList = List[_api.Joint]() 6893 if joints is not None: 6894 for thing in joints: 6895 if thing is not None: 6896 jointsList.Add(thing._Entity) 6897 return set[int](self._Entity.GetJointsWithoutResults(jointsList)) 6898 6899 @overload 6900 def AnalyzeZones(self, zones: list[Zone] = None) -> types.SimpleStatus: ... 6901 6902 @overload 6903 def AnalyzeZones(self, zoneIds: list[int]) -> types.SimpleStatus: ... 6904 6905 @overload 6906 def SizeZones(self, zones: list[Zone] = None) -> types.SimpleStatus: ... 6907 6908 @overload 6909 def SizeZones(self, zoneIds: list[int]) -> types.SimpleStatus: ... 6910 6911 def CreateNonFeaZone(self, category: types.FamilyCategory, name: str = None) -> Zone: 6912 ''' 6913 Create a non-FEA zone by name and category. 6914 ''' 6915 result = self._Entity.CreateNonFeaZone(_types.FamilyCategory(category.value), name) 6916 thisClass = type(result).__name__ 6917 givenClass = Zone 6918 for subclass in Zone.__subclasses__(): 6919 if subclass.__name__ == thisClass: 6920 givenClass = subclass 6921 return givenClass(result) 6922 6923 def ReturnToUnusedFem(self, zoneNumbers: list[int] = None, jointIds: set[int] = None) -> None: 6924 zoneNumbersList = MakeCSharpIntList(zoneNumbers) 6925 jointIdsSet = HashSet[int]() 6926 if jointIds is not None: 6927 for thing in jointIds: 6928 if thing is not None: 6929 jointIdsSet.Add(thing) 6930 return self._Entity.ReturnToUnusedFem(zoneNumbers if zoneNumbers is None else zoneNumbersList, jointIds if jointIds is None else jointIdsSet) 6931 6932 def UnimportFemAsync(self) -> Task: 6933 return Task(self._Entity.UnimportFemAsync()) 6934 6935 def ExportFem(self, destinationFolder: str) -> None: 6936 return self._Entity.ExportFem(destinationFolder) 6937 6938 def ImportCad(self, filePath: str) -> None: 6939 ''' 6940 Import CAD from a file. 6941 ''' 6942 return self._Entity.ImportCad(filePath) 6943 6944 @overload 6945 def ExportCad(self, filePath: str) -> None: ... 6946 6947 @overload 6948 def ExportCad(self, cadIds: tuple[int], filePath: str) -> None: ... 6949 6950 def RegeneratePfem(self) -> None: 6951 ''' 6952 Regenerates and displays the preview FEM. If running a script outside of the Script Runner, 6953 do not call this method 6954 ''' 6955 return self._Entity.RegeneratePfem() 6956 6957 def AnalyzeZones(self, item1 = None) -> types.SimpleStatus: 6958 if isinstance(item1, list) and item1 and isinstance(item1[0], Zone): 6959 zonesList = List[_api.Zone]() 6960 if item1 is not None: 6961 for thing in item1: 6962 if thing is not None: 6963 zonesList.Add(thing._Entity) 6964 return types.SimpleStatus(self._Entity.AnalyzeZones(item1 if item1 is None else zonesList)) 6965 6966 if isinstance(item1, list) and item1 and isinstance(item1[0], int): 6967 zoneIdsList = MakeCSharpIntList(item1) 6968 return types.SimpleStatus(self._Entity.AnalyzeZones(zoneIdsList)) 6969 6970 return types.SimpleStatus(self._Entity.AnalyzeZones(item1)) 6971 6972 def SizeZones(self, item1 = None) -> types.SimpleStatus: 6973 if isinstance(item1, list) and item1 and isinstance(item1[0], Zone): 6974 zonesList = List[_api.Zone]() 6975 if item1 is not None: 6976 for thing in item1: 6977 if thing is not None: 6978 zonesList.Add(thing._Entity) 6979 return types.SimpleStatus(self._Entity.SizeZones(item1 if item1 is None else zonesList)) 6980 6981 if isinstance(item1, list) and item1 and isinstance(item1[0], int): 6982 zoneIdsList = MakeCSharpIntList(item1) 6983 return types.SimpleStatus(self._Entity.SizeZones(zoneIdsList)) 6984 6985 return types.SimpleStatus(self._Entity.SizeZones(item1)) 6986 6987 def ExportCad(self, item1 = None, item2 = None) -> None: 6988 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int) and isinstance(item2, str): 6989 cadIdsList = MakeCSharpIntList(item1) 6990 cadIdsEnumerable = IEnumerable(cadIdsList) 6991 return self._Entity.ExportCad(cadIdsEnumerable, item2) 6992 6993 if isinstance(item1, str): 6994 return self._Entity.ExportCad(item1) 6995 6996 return self._Entity.ExportCad(item1, item2) 6997 6998 6999class ProjectInfo(IdNameEntityRenameable): 7000 def __init__(self, projectInfo: _api.ProjectInfo): 7001 self._Entity = projectInfo 7002 7003 7004class FailureModeCategoryCol(IdNameEntityCol[FailureModeCategory]): 7005 def __init__(self, failureModeCategoryCol: _api.FailureModeCategoryCol): 7006 self._Entity = failureModeCategoryCol 7007 self._CollectedClass = FailureModeCategory 7008 7009 @property 7010 def FailureModeCategoryColList(self) -> tuple[FailureModeCategory]: 7011 return tuple([FailureModeCategory(failureModeCategoryCol) for failureModeCategoryCol in self._Entity]) 7012 7013 @overload 7014 def Get(self, name: str) -> FailureModeCategory: ... 7015 7016 @overload 7017 def Get(self, id: int) -> FailureModeCategory: ... 7018 7019 def Get(self, item1 = None) -> FailureModeCategory: 7020 if isinstance(item1, str): 7021 return FailureModeCategory(super().Get(item1)) 7022 7023 if isinstance(item1, int): 7024 return FailureModeCategory(super().Get(item1)) 7025 7026 return FailureModeCategory(self._Entity.Get(item1)) 7027 7028 def __getitem__(self, index: int): 7029 return self.FailureModeCategoryColList[index] 7030 7031 def __iter__(self): 7032 yield from self.FailureModeCategoryColList 7033 7034 def __len__(self): 7035 return len(self.FailureModeCategoryColList) 7036 7037 7038class FoamCol(Generic[T]): 7039 def __init__(self, foamCol: _api.FoamCol): 7040 self._Entity = foamCol 7041 7042 @property 7043 def FoamColList(self) -> tuple[Foam]: 7044 return tuple([Foam(foamCol) for foamCol in self._Entity]) 7045 7046 def Count(self) -> int: 7047 return self._Entity.Count() 7048 7049 def Get(self, materialName: str) -> Foam: 7050 ''' 7051 Look up an Foam material by its name. 7052 ''' 7053 return Foam(self._Entity.Get(materialName)) 7054 7055 def Contains(self, materialName: str) -> bool: 7056 ''' 7057 Check if an foam material exists in this collection. 7058 ''' 7059 return self._Entity.Contains(materialName) 7060 7061 def Create(self, materialFamilyName: str, density: float, newMaterialName: str = None, femId: int = None) -> Foam: 7062 return Foam(self._Entity.Create(materialFamilyName, density, newMaterialName, femId)) 7063 7064 def Copy(self, fmToCopyName: str, newMaterialName: str = None, femId: int = None) -> Foam: 7065 return Foam(self._Entity.Copy(fmToCopyName, newMaterialName, femId)) 7066 7067 def Delete(self, materialName: str) -> bool: 7068 ''' 7069 Delete a foam material by name. 7070 Returns false if the method the material is not found. 7071 ''' 7072 return self._Entity.Delete(materialName) 7073 7074 def __getitem__(self, index: int): 7075 return self.FoamColList[index] 7076 7077 def __iter__(self): 7078 yield from self.FoamColList 7079 7080 def __len__(self): 7081 return len(self.FoamColList) 7082 7083 7084class HoneycombCol(Generic[T]): 7085 def __init__(self, honeycombCol: _api.HoneycombCol): 7086 self._Entity = honeycombCol 7087 7088 @property 7089 def HoneycombColList(self) -> tuple[Honeycomb]: 7090 return tuple([Honeycomb(honeycombCol) for honeycombCol in self._Entity]) 7091 7092 def Count(self) -> int: 7093 return self._Entity.Count() 7094 7095 def Get(self, materialName: str) -> Honeycomb: 7096 ''' 7097 Look up an Honeycomb material by its name. 7098 ''' 7099 return Honeycomb(self._Entity.Get(materialName)) 7100 7101 def Contains(self, materialName: str) -> bool: 7102 ''' 7103 Check if an honeycomb material exists in this collection. 7104 ''' 7105 return self._Entity.Contains(materialName) 7106 7107 def Create(self, materialFamilyName: str, density: float, newMaterialName: str = None, femId: int = None) -> Honeycomb: 7108 return Honeycomb(self._Entity.Create(materialFamilyName, density, newMaterialName, femId)) 7109 7110 def Copy(self, honeyToCopyName: str, newMaterialName: str = None, femId: int = None) -> Honeycomb: 7111 return Honeycomb(self._Entity.Copy(honeyToCopyName, newMaterialName, femId)) 7112 7113 def Delete(self, materialName: str) -> bool: 7114 ''' 7115 Delete a honeycomb material by name. 7116 Returns false if the method the material is not found. 7117 ''' 7118 return self._Entity.Delete(materialName) 7119 7120 def __getitem__(self, index: int): 7121 return self.HoneycombColList[index] 7122 7123 def __iter__(self): 7124 yield from self.HoneycombColList 7125 7126 def __len__(self): 7127 return len(self.HoneycombColList) 7128 7129 7130class IsotropicCol(Generic[T]): 7131 def __init__(self, isotropicCol: _api.IsotropicCol): 7132 self._Entity = isotropicCol 7133 7134 @property 7135 def IsotropicColList(self) -> tuple[Isotropic]: 7136 return tuple([Isotropic(isotropicCol) for isotropicCol in self._Entity]) 7137 7138 def Count(self) -> int: 7139 return self._Entity.Count() 7140 7141 def Get(self, materialName: str) -> Isotropic: 7142 ''' 7143 Look up an Isotropic material by its name. 7144 ''' 7145 return Isotropic(self._Entity.Get(materialName)) 7146 7147 def Contains(self, materialName: str) -> bool: 7148 ''' 7149 Check if an isotropic material exists in this collection. 7150 ''' 7151 return self._Entity.Contains(materialName) 7152 7153 def Create(self, materialFamilyName: str, density: float, newMaterialName: str = None, femId: int = None) -> Isotropic: 7154 return Isotropic(self._Entity.Create(materialFamilyName, density, newMaterialName, femId)) 7155 7156 def Copy(self, isoToCopyName: str, newMaterialName: str = None, femId: int = None) -> Isotropic: 7157 return Isotropic(self._Entity.Copy(isoToCopyName, newMaterialName, femId)) 7158 7159 def Delete(self, materialName: str) -> bool: 7160 ''' 7161 Delete an isotropic material by name. 7162 Returns false if the method the material is not found. 7163 ''' 7164 return self._Entity.Delete(materialName) 7165 7166 def __getitem__(self, index: int): 7167 return self.IsotropicColList[index] 7168 7169 def __iter__(self): 7170 yield from self.IsotropicColList 7171 7172 def __len__(self): 7173 return len(self.IsotropicColList) 7174 7175 7176class LaminateFamilyCol(IdNameEntityCol[LaminateFamily]): 7177 def __init__(self, laminateFamilyCol: _api.LaminateFamilyCol): 7178 self._Entity = laminateFamilyCol 7179 self._CollectedClass = LaminateFamily 7180 7181 @property 7182 def LaminateFamilyColList(self) -> tuple[LaminateFamily]: 7183 return tuple([LaminateFamily(laminateFamilyCol) for laminateFamilyCol in self._Entity]) 7184 7185 @overload 7186 def Get(self, name: str) -> LaminateFamily: ... 7187 7188 @overload 7189 def Get(self, id: int) -> LaminateFamily: ... 7190 7191 def Get(self, item1 = None) -> LaminateFamily: 7192 if isinstance(item1, str): 7193 return LaminateFamily(super().Get(item1)) 7194 7195 if isinstance(item1, int): 7196 return LaminateFamily(super().Get(item1)) 7197 7198 return LaminateFamily(self._Entity.Get(item1)) 7199 7200 def __getitem__(self, index: int): 7201 return self.LaminateFamilyColList[index] 7202 7203 def __iter__(self): 7204 yield from self.LaminateFamilyColList 7205 7206 def __len__(self): 7207 return len(self.LaminateFamilyColList) 7208 7209 7210class LaminateCol(Generic[T]): 7211 def __init__(self, laminateCol: _api.LaminateCol): 7212 self._Entity = laminateCol 7213 7214 @property 7215 def LaminateColList(self) -> tuple[Laminate]: 7216 return tuple([Laminate(laminateCol) for laminateCol in self._Entity]) 7217 7218 def Count(self) -> int: 7219 return self._Entity.Count() 7220 7221 def Get(self, laminateName: str) -> LaminateBase: 7222 ''' 7223 Look up a Laminate by its name. 7224 ''' 7225 result = self._Entity.Get(laminateName) 7226 thisClass = type(result).__name__ 7227 givenClass = LaminateBase 7228 for subclass in LaminateBase.__subclasses__(): 7229 if subclass.__name__ == thisClass: 7230 givenClass = subclass 7231 return givenClass(result) 7232 7233 def Contains(self, laminateName: str) -> bool: 7234 return self._Entity.Contains(laminateName) 7235 7236 def CreateLaminate(self, materialFamily: str, laminateName: str = None) -> Laminate: 7237 ''' 7238 Create laminate. 7239 ''' 7240 return Laminate(self._Entity.CreateLaminate(materialFamily, laminateName)) 7241 7242 def CreateStiffenerLaminate(self, materialFamily: str, stiffenerProfile: types.StiffenerProfile, laminateName: str = None) -> StiffenerLaminate: 7243 ''' 7244 Create a stiffener laminate. 7245 ''' 7246 return StiffenerLaminate(self._Entity.CreateStiffenerLaminate(materialFamily, _types.StiffenerProfile(stiffenerProfile.value), laminateName)) 7247 7248 def Copy(self, laminateToCopyName: str, newLaminateName: str = None) -> LaminateBase: 7249 ''' 7250 Copy a laminate material by name. 7251 ''' 7252 result = self._Entity.Copy(laminateToCopyName, newLaminateName) 7253 thisClass = type(result).__name__ 7254 givenClass = LaminateBase 7255 for subclass in LaminateBase.__subclasses__(): 7256 if subclass.__name__ == thisClass: 7257 givenClass = subclass 7258 return givenClass(result) 7259 7260 def Delete(self, name: str) -> bool: 7261 ''' 7262 Delete a laminate material by name. 7263 Returns false if the material is not found or removed. 7264 ''' 7265 return self._Entity.Delete(name) 7266 7267 def GetLaminate(self, name: str) -> Laminate: 7268 ''' 7269 Get a laminate by name. 7270 ''' 7271 return Laminate(self._Entity.GetLaminate(name)) 7272 7273 def GetStiffenerLaminate(self, name: str) -> StiffenerLaminate: 7274 ''' 7275 Get a stiffener laminate by name. 7276 ''' 7277 return StiffenerLaminate(self._Entity.GetStiffenerLaminate(name)) 7278 7279 def __getitem__(self, index: int): 7280 return self.LaminateColList[index] 7281 7282 def __iter__(self): 7283 yield from self.LaminateColList 7284 7285 def __len__(self): 7286 return len(self.LaminateColList) 7287 7288 7289class OrthotropicCol(Generic[T]): 7290 def __init__(self, orthotropicCol: _api.OrthotropicCol): 7291 self._Entity = orthotropicCol 7292 7293 @property 7294 def OrthotropicColList(self) -> tuple[Orthotropic]: 7295 return tuple([Orthotropic(orthotropicCol) for orthotropicCol in self._Entity]) 7296 7297 def Count(self) -> int: 7298 return self._Entity.Count() 7299 7300 def Get(self, materialName: str) -> Orthotropic: 7301 ''' 7302 Look up an Orthotropic material by its name. 7303 ''' 7304 return Orthotropic(self._Entity.Get(materialName)) 7305 7306 def Contains(self, materialName: str) -> bool: 7307 ''' 7308 Check if an orthotropic material exists in this collection. 7309 ''' 7310 return self._Entity.Contains(materialName) 7311 7312 def Create(self, materialFamilyName: str, thickness: float, density: float, newMaterialName: str = None, femId: int = None) -> Orthotropic: 7313 return Orthotropic(self._Entity.Create(materialFamilyName, thickness, density, newMaterialName, femId)) 7314 7315 def Copy(self, orthoToCopyName: str, newMaterialName: str = None, femId: int = None) -> Orthotropic: 7316 return Orthotropic(self._Entity.Copy(orthoToCopyName, newMaterialName, femId)) 7317 7318 def Delete(self, materialName: str) -> bool: 7319 ''' 7320 Delete an orthotropic material by name. 7321 Returns false if the method the material is not found. 7322 ''' 7323 return self._Entity.Delete(materialName) 7324 7325 def __getitem__(self, index: int): 7326 return self.OrthotropicColList[index] 7327 7328 def __iter__(self): 7329 yield from self.OrthotropicColList 7330 7331 def __len__(self): 7332 return len(self.OrthotropicColList) 7333 7334 7335class PluginPackageCol(IdNameEntityCol[PluginPackage]): 7336 def __init__(self, pluginPackageCol: _api.PluginPackageCol): 7337 self._Entity = pluginPackageCol 7338 self._CollectedClass = PluginPackage 7339 7340 @property 7341 def PluginPackageColList(self) -> tuple[PluginPackage]: 7342 return tuple([PluginPackage(pluginPackageCol) for pluginPackageCol in self._Entity]) 7343 7344 def AddPluginPackage(self, path: str) -> PluginPackage: 7345 ''' 7346 Add a plugin package by path. 7347 ''' 7348 return PluginPackage(self._Entity.AddPluginPackage(path)) 7349 7350 @overload 7351 def RemovePluginPackage(self, name: str) -> bool: ... 7352 7353 @overload 7354 def RemovePluginPackage(self, id: int) -> bool: ... 7355 7356 def ClearAllPluginPackages(self) -> None: 7357 ''' 7358 Clears all packages out of the database 7359 ''' 7360 return self._Entity.ClearAllPluginPackages() 7361 7362 def GetPluginPackages(self) -> list[PluginPackage]: 7363 ''' 7364 Gets a list of package info 7365 Includes name, id, file path, version, description, and modification date 7366 ''' 7367 return [PluginPackage(pluginPackage) for pluginPackage in self._Entity.GetPluginPackages()] 7368 7369 @overload 7370 def Get(self, name: str) -> PluginPackage: ... 7371 7372 @overload 7373 def Get(self, id: int) -> PluginPackage: ... 7374 7375 def RemovePluginPackage(self, item1 = None) -> bool: 7376 if isinstance(item1, str): 7377 return self._Entity.RemovePluginPackage(item1) 7378 7379 if isinstance(item1, int): 7380 return self._Entity.RemovePluginPackage(item1) 7381 7382 return self._Entity.RemovePluginPackage(item1) 7383 7384 def Get(self, item1 = None) -> PluginPackage: 7385 if isinstance(item1, str): 7386 return PluginPackage(super().Get(item1)) 7387 7388 if isinstance(item1, int): 7389 return PluginPackage(super().Get(item1)) 7390 7391 return PluginPackage(self._Entity.Get(item1)) 7392 7393 def __getitem__(self, index: int): 7394 return self.PluginPackageColList[index] 7395 7396 def __iter__(self): 7397 yield from self.PluginPackageColList 7398 7399 def __len__(self): 7400 return len(self.PluginPackageColList) 7401 7402 7403class ProjectInfoCol(IdNameEntityCol[ProjectInfo]): 7404 def __init__(self, projectInfoCol: _api.ProjectInfoCol): 7405 self._Entity = projectInfoCol 7406 self._CollectedClass = ProjectInfo 7407 7408 @property 7409 def ProjectInfoColList(self) -> tuple[ProjectInfo]: 7410 return tuple([ProjectInfo(projectInfoCol) for projectInfoCol in self._Entity]) 7411 7412 @overload 7413 def Get(self, name: str) -> ProjectInfo: ... 7414 7415 @overload 7416 def Get(self, id: int) -> ProjectInfo: ... 7417 7418 def Get(self, item1 = None) -> ProjectInfo: 7419 if isinstance(item1, str): 7420 return ProjectInfo(super().Get(item1)) 7421 7422 if isinstance(item1, int): 7423 return ProjectInfo(super().Get(item1)) 7424 7425 return ProjectInfo(self._Entity.Get(item1)) 7426 7427 def __getitem__(self, index: int): 7428 return self.ProjectInfoColList[index] 7429 7430 def __iter__(self): 7431 yield from self.ProjectInfoColList 7432 7433 def __len__(self): 7434 return len(self.ProjectInfoColList) 7435 7436 7437class Application: 7438 ''' 7439 HyperX scripting application. 7440 This API is not guaranteed to be thread-safe. 7441 Calls into a single application instance or its descendents are not safe to be called concurrently. 7442 7443 However, it is safe enough for integration testing to have multiple 7444 application instances with a single process. 7445 ''' 7446 def __init__(self, application: _api.Application): 7447 self._Entity = application 7448 7449 @property 7450 def UnitSystem(self) -> UnitSystem: 7451 ''' 7452 Unit system specified when starting a scripting Application. 7453 ''' 7454 result = self._Entity.UnitSystem 7455 return UnitSystem(result) if result is not None else None 7456 7457 @property 7458 def CompilationDate(self) -> str: 7459 return self._Entity.CompilationDate 7460 7461 @property 7462 def DatabasePath(self) -> str: 7463 return self._Entity.DatabasePath 7464 7465 @property 7466 def ActiveProject(self) -> Project: 7467 ''' 7468 Represents a HyperX project within a database. 7469 ''' 7470 result = self._Entity.ActiveProject 7471 return Project(result) if result is not None else None 7472 7473 @property 7474 def UiRunnerMode(self) -> bool: 7475 return self._Entity.UiRunnerMode 7476 7477 @property 7478 def Version(self) -> str: 7479 return self._Entity.Version 7480 7481 @property 7482 def FailureModeCategories(self) -> FailureModeCategoryCol: 7483 result = self._Entity.FailureModeCategories 7484 return FailureModeCategoryCol(result) if result is not None else None 7485 7486 @property 7487 def FailureModes(self) -> FailureModeCol: 7488 result = self._Entity.FailureModes 7489 return FailureModeCol(result) if result is not None else None 7490 7491 @property 7492 def Packages(self) -> PluginPackageCol: 7493 result = self._Entity.Packages 7494 return PluginPackageCol(result) if result is not None else None 7495 7496 @property 7497 def Foams(self) -> FoamCol: 7498 ''' 7499 Contains a set of all foam materials in a database. 7500 ''' 7501 result = self._Entity.Foams 7502 return FoamCol(result) if result is not None else None 7503 7504 @property 7505 def Honeycombs(self) -> HoneycombCol: 7506 ''' 7507 Contains a set of all honeycomb materials in a database. 7508 ''' 7509 result = self._Entity.Honeycombs 7510 return HoneycombCol(result) if result is not None else None 7511 7512 @property 7513 def Isotropics(self) -> IsotropicCol: 7514 ''' 7515 Contains a set of all isotropic materials in a database. 7516 ''' 7517 result = self._Entity.Isotropics 7518 return IsotropicCol(result) if result is not None else None 7519 7520 @property 7521 def Laminates(self) -> LaminateCol: 7522 result = self._Entity.Laminates 7523 return LaminateCol(result) if result is not None else None 7524 7525 @property 7526 def LaminateFamilies(self) -> LaminateFamilyCol: 7527 result = self._Entity.LaminateFamilies 7528 return LaminateFamilyCol(result) if result is not None else None 7529 7530 @property 7531 def AnalysisProperties(self) -> AnalysisPropertyCol: 7532 result = self._Entity.AnalysisProperties 7533 return AnalysisPropertyCol(result) if result is not None else None 7534 7535 @property 7536 def DesignProperties(self) -> DesignPropertyCol: 7537 result = self._Entity.DesignProperties 7538 return DesignPropertyCol(result) if result is not None else None 7539 7540 @property 7541 def LoadProperties(self) -> LoadPropertyCol: 7542 result = self._Entity.LoadProperties 7543 return LoadPropertyCol(result) if result is not None else None 7544 7545 @property 7546 def Orthotropics(self) -> OrthotropicCol: 7547 ''' 7548 Contains a set of all orthotropic materials in a database. 7549 ''' 7550 result = self._Entity.Orthotropics 7551 return OrthotropicCol(result) if result is not None else None 7552 7553 @property 7554 def ProjectInfos(self) -> ProjectInfoCol: 7555 ''' 7556 Contains a set of all projects in a database. 7557 ''' 7558 result = self._Entity.ProjectInfos 7559 return ProjectInfoCol(result) if result is not None else None 7560 7561 @property 7562 def UserName(self) -> str: 7563 return self._Entity.UserName 7564 7565 @UserName.setter 7566 def UserName(self, value: str) -> None: 7567 self._Entity.UserName = value 7568 7569 def CloseDatabase(self, delay: int = 0) -> None: 7570 ''' 7571 Close the currently open database if one exists. 7572 :param delay: Delay closing the connection for this many seconds. 7573 ''' 7574 return self._Entity.CloseDatabase(delay) 7575 7576 def CopyProject(self, projectId: int, newName: str = None, copyDesignProperties: bool = True, copyAnalysisProperties: bool = True, copyLoadProperties: bool = True, copyWorkingFolder: bool = True) -> ProjectInfo: 7577 ''' 7578 Copy a project 7579 :param projectId: Id of the project to copy 7580 :param newName: Name for the new project 7581 :param copyDesignProperties: Flag indicating whether design properties should be copied in the new project 7582 :param copyAnalysisProperties: Flag indicating whether analysis properties should be copied in the new project 7583 :param copyLoadProperties: Flag indicating whether load properties should be copied in the new project 7584 :param copyWorkingFolder: Flag indicating whether working folder should be copied 7585 ''' 7586 return ProjectInfo(self._Entity.CopyProject(projectId, newName, copyDesignProperties, copyAnalysisProperties, copyLoadProperties, copyWorkingFolder)) 7587 7588 def CreateDatabaseFromTemplate(self, templateName: str, newPath: str) -> None: 7589 ''' 7590 Create a new database. 7591 :param templateName: The name of the template to base this database on. 7592 :param newPath: The path to the new database. 7593 ''' 7594 return self._Entity.CreateDatabaseFromTemplate(templateName, newPath) 7595 7596 def CreateProject(self, projectName: str = None) -> ProjectInfo: 7597 ''' 7598 Create a Project. 7599 ''' 7600 return ProjectInfo(self._Entity.CreateProject(projectName)) 7601 7602 def DeleteProject(self, projectName: str) -> ProjectDeletionStatus: 7603 return ProjectDeletionStatus[self._Entity.DeleteProject(projectName).ToString()] 7604 7605 def Dispose(self) -> None: 7606 ''' 7607 Dispose of the application. Should be explicitly called after the application 7608 is no longer needed unless the application is wrapped with a using clause. 7609 ''' 7610 return self._Entity.Dispose() 7611 7612 def GetAnalyses(self) -> dict[int, AnalysisDefinition]: 7613 ''' 7614 Get all Analysis Definitions in the database. 7615 ''' 7616 return dict[int, AnalysisDefinition](self._Entity.GetAnalyses()) 7617 7618 def Login(self, userName: str, password: str = "") -> None: 7619 ''' 7620 Login to the Scripting API with a specified username and password. 7621 :param userName: Username to login with. 7622 :param password: Password to log in with 7623 ''' 7624 return self._Entity.Login(userName, password) 7625 7626 def Migrate(self, databasePath: str) -> str: 7627 ''' 7628 Migrate the database to the latest version. 7629 ''' 7630 return self._Entity.Migrate(databasePath) 7631 7632 def CheckDatabaseIsUpToDate(self, databasePath: str) -> bool: 7633 ''' 7634 Returns true if the database version matches the version of this scripting API. 7635 Otherwise returns false. 7636 ''' 7637 return self._Entity.CheckDatabaseIsUpToDate(databasePath) 7638 7639 def OpenDatabase(self, databasePath: str) -> None: 7640 ''' 7641 Open a database to manipulate with the API. 7642 :param databasePath: File path to the DB. 7643 ''' 7644 return self._Entity.OpenDatabase(databasePath) 7645 7646 def SelectProject(self, projectName: str) -> Project: 7647 ''' 7648 Select the active project. 7649 Activating a project will deactivate the current project (if present). 7650 ''' 7651 return Project(self._Entity.SelectProject(projectName)) 7652 7653 7654class JointDesignProperty(DesignProperty): 7655 def __init__(self, jointDesignProperty: _api.JointDesignProperty): 7656 self._Entity = jointDesignProperty 7657 7658 7659class SizingMaterial(IdEntity): 7660 def __init__(self, sizingMaterial: _api.SizingMaterial): 7661 self._Entity = sizingMaterial 7662 7663 @property 7664 def MaterialId(self) -> int: 7665 return self._Entity.MaterialId 7666 7667 @property 7668 def MaterialType(self) -> types.MaterialType: 7669 ''' 7670 Represents a material's type. 7671 ''' 7672 return types.MaterialType[self._Entity.MaterialType.ToString()] 7673 7674 7675class SizingMaterialCol(IdEntityCol[SizingMaterial]): 7676 def __init__(self, sizingMaterialCol: _api.SizingMaterialCol): 7677 self._Entity = sizingMaterialCol 7678 self._CollectedClass = SizingMaterial 7679 7680 @property 7681 def SizingMaterialColList(self) -> tuple[SizingMaterial]: 7682 return tuple([SizingMaterial(sizingMaterialCol) for sizingMaterialCol in self._Entity]) 7683 7684 @overload 7685 def Get(self, name: str) -> SizingMaterial: ... 7686 7687 @overload 7688 def Contains(self, name: str) -> bool: ... 7689 7690 @overload 7691 def AddSizingMaterial(self, materialId: int) -> bool: ... 7692 7693 @overload 7694 def AddSizingMaterial(self, name: str) -> bool: ... 7695 7696 @overload 7697 def RemoveSizingMaterial(self, materialId: int) -> bool: ... 7698 7699 @overload 7700 def RemoveSizingMaterial(self, name: str) -> bool: ... 7701 7702 @overload 7703 def Contains(self, id: int) -> bool: ... 7704 7705 @overload 7706 def Get(self, id: int) -> SizingMaterial: ... 7707 7708 def Get(self, item1 = None) -> SizingMaterial: 7709 if isinstance(item1, str): 7710 return SizingMaterial(self._Entity.Get(item1)) 7711 7712 if isinstance(item1, int): 7713 return SizingMaterial(super().Get(item1)) 7714 7715 return SizingMaterial(self._Entity.Get(item1)) 7716 7717 def Contains(self, item1 = None) -> bool: 7718 if isinstance(item1, str): 7719 return self._Entity.Contains(item1) 7720 7721 if isinstance(item1, int): 7722 return bool(super().Contains(item1)) 7723 7724 return self._Entity.Contains(item1) 7725 7726 def AddSizingMaterial(self, item1 = None) -> bool: 7727 if isinstance(item1, int): 7728 return self._Entity.AddSizingMaterial(item1) 7729 7730 if isinstance(item1, str): 7731 return self._Entity.AddSizingMaterial(item1) 7732 7733 return self._Entity.AddSizingMaterial(item1) 7734 7735 def RemoveSizingMaterial(self, item1 = None) -> bool: 7736 if isinstance(item1, int): 7737 return self._Entity.RemoveSizingMaterial(item1) 7738 7739 if isinstance(item1, str): 7740 return self._Entity.RemoveSizingMaterial(item1) 7741 7742 return self._Entity.RemoveSizingMaterial(item1) 7743 7744 def __getitem__(self, index: int): 7745 return self.SizingMaterialColList[index] 7746 7747 def __iter__(self): 7748 yield from self.SizingMaterialColList 7749 7750 def __len__(self): 7751 return len(self.SizingMaterialColList) 7752 7753 7754class ZoneOverride(IdEntity): 7755 def __init__(self, zoneOverride: _api.ZoneOverride): 7756 self._Entity = zoneOverride 7757 7758 @property 7759 def AllowMaterials(self) -> bool: 7760 return self._Entity.AllowMaterials 7761 7762 @property 7763 def ProjectId(self) -> int: 7764 return self._Entity.ProjectId 7765 7766 @property 7767 def DesignId(self) -> int: 7768 return self._Entity.DesignId 7769 7770 @property 7771 def FamilyId(self) -> types.BeamPanelFamily: 7772 return types.BeamPanelFamily[self._Entity.FamilyId.ToString()] 7773 7774 @property 7775 def ConceptId(self) -> int: 7776 return self._Entity.ConceptId 7777 7778 @property 7779 def VariableId(self) -> int: 7780 return self._Entity.VariableId 7781 7782 @property 7783 def MinBound(self) -> float: 7784 return self._Entity.MinBound 7785 7786 @property 7787 def MaxBound(self) -> float: 7788 return self._Entity.MaxBound 7789 7790 @property 7791 def StepSize(self) -> float: 7792 return self._Entity.StepSize 7793 7794 @property 7795 def MinPlies(self) -> int: 7796 return self._Entity.MinPlies 7797 7798 @property 7799 def MaxPlies(self) -> int: 7800 return self._Entity.MaxPlies 7801 7802 @property 7803 def PlyStepSize(self) -> int: 7804 return self._Entity.PlyStepSize 7805 7806 @property 7807 def InputMode(self) -> types.VariableInputMode: 7808 return types.VariableInputMode[self._Entity.InputMode.ToString()] 7809 7810 @property 7811 def SizingMaterials(self) -> SizingMaterialCol: 7812 result = self._Entity.SizingMaterials 7813 return SizingMaterialCol(result) if result is not None else None 7814 7815 @property 7816 def AnalysisValue(self) -> float: 7817 return self._Entity.AnalysisValue 7818 7819 @property 7820 def AnalysisMaterial(self) -> str: 7821 return self._Entity.AnalysisMaterial 7822 7823 @property 7824 def AnalysisMaterialType(self) -> types.MaterialType: 7825 return types.MaterialType[self._Entity.AnalysisMaterialType.ToString()] 7826 7827 @MinBound.setter 7828 def MinBound(self, value: float) -> None: 7829 self._Entity.MinBound = value 7830 7831 @MaxBound.setter 7832 def MaxBound(self, value: float) -> None: 7833 self._Entity.MaxBound = value 7834 7835 @StepSize.setter 7836 def StepSize(self, value: float) -> None: 7837 self._Entity.StepSize = value 7838 7839 @MinPlies.setter 7840 def MinPlies(self, value: int) -> None: 7841 self._Entity.MinPlies = value 7842 7843 @MaxPlies.setter 7844 def MaxPlies(self, value: int) -> None: 7845 self._Entity.MaxPlies = value 7846 7847 @PlyStepSize.setter 7848 def PlyStepSize(self, value: int) -> None: 7849 self._Entity.PlyStepSize = value 7850 7851 @AnalysisValue.setter 7852 def AnalysisValue(self, value: float) -> None: 7853 self._Entity.AnalysisValue = value 7854 7855 @AnalysisMaterial.setter 7856 def AnalysisMaterial(self, value: str) -> None: 7857 self._Entity.AnalysisMaterial = value 7858 7859 7860class ToolingConstraint(IdNameEntity): 7861 ''' 7862 Tooling constraints are a feature of Design Properties for Zones. 7863 ''' 7864 def __init__(self, toolingConstraint: _api.ToolingConstraint): 7865 self._Entity = toolingConstraint 7866 7867 @property 7868 def ConstraintMax(self) -> float: 7869 return self._Entity.ConstraintMax 7870 7871 @property 7872 def ConstraintMin(self) -> float: 7873 return self._Entity.ConstraintMin 7874 7875 @property 7876 def ConstraintValue(self) -> float: 7877 return self._Entity.ConstraintValue 7878 7879 @property 7880 def ToolingSelectionType(self) -> types.ToolingSelectionType: 7881 ''' 7882 Defines which selection a given tooling constraint is currently set to. 7883 ''' 7884 return types.ToolingSelectionType[self._Entity.ToolingSelectionType.ToString()] 7885 7886 def SetToAnyValue(self) -> None: 7887 return self._Entity.SetToAnyValue() 7888 7889 def SetToInequality(self, value: float) -> None: 7890 return self._Entity.SetToInequality(value) 7891 7892 def SetToRange(self, min: float, max: float) -> None: 7893 return self._Entity.SetToRange(min, max) 7894 7895 def SetToValue(self, value: float) -> None: 7896 return self._Entity.SetToValue(value) 7897 7898 7899class ZoneOverrideCol(IdEntityCol[ZoneOverride]): 7900 def __init__(self, zoneOverrideCol: _api.ZoneOverrideCol): 7901 self._Entity = zoneOverrideCol 7902 self._CollectedClass = ZoneOverride 7903 7904 @property 7905 def ZoneOverrideColList(self) -> tuple[ZoneOverride]: 7906 return tuple([ZoneOverride(zoneOverrideCol) for zoneOverrideCol in self._Entity]) 7907 7908 def Get(self, zoneNumber: int) -> ZoneOverride: 7909 ''' 7910 Get override for a zone by the zone number 7911 ''' 7912 return ZoneOverride(self._Entity.Get(zoneNumber)) 7913 7914 def __getitem__(self, index: int): 7915 return self.ZoneOverrideColList[index] 7916 7917 def __iter__(self): 7918 yield from self.ZoneOverrideColList 7919 7920 def __len__(self): 7921 return len(self.ZoneOverrideColList) 7922 7923 7924class DesignVariable(IdEntity): 7925 ''' 7926 Holds design variable data. 7927 Min, max, steps, materials. 7928 ''' 7929 def __init__(self, designVariable: _api.DesignVariable): 7930 self._Entity = designVariable 7931 7932 @property 7933 def VariableParameter(self) -> types.VariableParameter: 7934 return types.VariableParameter[self._Entity.VariableParameter.ToString()] 7935 7936 @property 7937 def AllowMaterials(self) -> bool: 7938 return self._Entity.AllowMaterials 7939 7940 @property 7941 def Max(self) -> float: 7942 return self._Entity.Max 7943 7944 @property 7945 def Min(self) -> float: 7946 return self._Entity.Min 7947 7948 @property 7949 def Name(self) -> str: 7950 return self._Entity.Name 7951 7952 @property 7953 def StepSize(self) -> float: 7954 return self._Entity.StepSize 7955 7956 @property 7957 def UseAnalysis(self) -> bool: 7958 return self._Entity.UseAnalysis 7959 7960 @property 7961 def AnalysisMaterial(self) -> str: 7962 return self._Entity.AnalysisMaterial 7963 7964 @property 7965 def AnalysisMaterialType(self) -> types.MaterialType: 7966 return types.MaterialType[self._Entity.AnalysisMaterialType.ToString()] 7967 7968 @property 7969 def SizingMaterialType(self) -> types.MaterialType: 7970 return types.MaterialType[self._Entity.SizingMaterialType.ToString()] 7971 7972 @property 7973 def AnalysisValue(self) -> float: 7974 return self._Entity.AnalysisValue 7975 7976 @property 7977 def Overrides(self) -> ZoneOverrideCol: 7978 result = self._Entity.Overrides 7979 return ZoneOverrideCol(result) if result is not None else None 7980 7981 @Max.setter 7982 def Max(self, value: float) -> None: 7983 self._Entity.Max = value 7984 7985 @Min.setter 7986 def Min(self, value: float) -> None: 7987 self._Entity.Min = value 7988 7989 @StepSize.setter 7990 def StepSize(self, value: float) -> None: 7991 self._Entity.StepSize = value 7992 7993 @UseAnalysis.setter 7994 def UseAnalysis(self, value: bool) -> None: 7995 self._Entity.UseAnalysis = value 7996 7997 @AnalysisMaterial.setter 7998 def AnalysisMaterial(self, value: str) -> None: 7999 self._Entity.AnalysisMaterial = value 8000 8001 @AnalysisValue.setter 8002 def AnalysisValue(self, value: float) -> None: 8003 self._Entity.AnalysisValue = value 8004 8005 @overload 8006 def AddMaterials(self, materialIds: set[int]) -> None: ... 8007 8008 @overload 8009 def AddMaterials(self, materialNames: set[str]) -> None: ... 8010 8011 def GetSizingMaterials(self) -> list[int]: 8012 ''' 8013 Get a list of materials used for sizing, if they exist. 8014 ''' 8015 return [int32 for int32 in self._Entity.GetSizingMaterials()] 8016 8017 def RemoveSizingMaterials(self, materialIds: tuple[int] = None) -> None: 8018 materialIdsList = MakeCSharpIntList(materialIds) 8019 materialIdsEnumerable = IEnumerable(materialIdsList) 8020 return self._Entity.RemoveSizingMaterials(materialIds if materialIds is None else materialIdsEnumerable) 8021 8022 def GetAnalysisMaterial(self) -> int: 8023 ''' 8024 Get the material used for analysis, if it exists. 8025 ''' 8026 return self._Entity.GetAnalysisMaterial() 8027 8028 def RemoveAnalysisMaterial(self) -> None: 8029 ''' 8030 Remove the analysis material assigned to this variable. 8031 ''' 8032 return self._Entity.RemoveAnalysisMaterial() 8033 8034 def AddMaterials(self, item1 = None) -> None: 8035 if isinstance(item1, set) and item1 and isinstance(list(item1)[0], int): 8036 materialIdsSet = HashSet[int]() 8037 if item1 is not None: 8038 for thing in item1: 8039 if thing is not None: 8040 materialIdsSet.Add(thing) 8041 return self._Entity.AddMaterials(materialIdsSet) 8042 8043 if isinstance(item1, set) and item1 and isinstance(list(item1)[0], str): 8044 materialNamesSet = HashSet[str]() 8045 if item1 is not None: 8046 for thing in item1: 8047 if thing is not None: 8048 materialNamesSet.Add(thing) 8049 return self._Entity.AddMaterials(materialNamesSet) 8050 8051 return self._Entity.AddMaterials(item1) 8052 8053 8054class ToolingConstraintCol(IdNameEntityCol[ToolingConstraint]): 8055 def __init__(self, toolingConstraintCol: _api.ToolingConstraintCol): 8056 self._Entity = toolingConstraintCol 8057 self._CollectedClass = ToolingConstraint 8058 8059 @property 8060 def ToolingConstraintColList(self) -> tuple[ToolingConstraint]: 8061 return tuple([ToolingConstraint(toolingConstraintCol) for toolingConstraintCol in self._Entity]) 8062 8063 @overload 8064 def Get(self, name: str) -> ToolingConstraint: ... 8065 8066 @overload 8067 def Get(self, id: int) -> ToolingConstraint: ... 8068 8069 def Get(self, item1 = None) -> ToolingConstraint: 8070 if isinstance(item1, str): 8071 return ToolingConstraint(super().Get(item1)) 8072 8073 if isinstance(item1, int): 8074 return ToolingConstraint(super().Get(item1)) 8075 8076 return ToolingConstraint(self._Entity.Get(item1)) 8077 8078 def __getitem__(self, index: int): 8079 return self.ToolingConstraintColList[index] 8080 8081 def __iter__(self): 8082 yield from self.ToolingConstraintColList 8083 8084 def __len__(self): 8085 return len(self.ToolingConstraintColList) 8086 8087 8088class DesignVariableCol(IdEntityCol[DesignVariable]): 8089 def __init__(self, designVariableCol: _api.DesignVariableCol): 8090 self._Entity = designVariableCol 8091 self._CollectedClass = DesignVariable 8092 8093 @property 8094 def DesignVariableColList(self) -> tuple[DesignVariable]: 8095 return tuple([DesignVariable(designVariableCol) for designVariableCol in self._Entity]) 8096 8097 @overload 8098 def Get(self, parameterId: types.VariableParameter) -> DesignVariable: ... 8099 8100 @overload 8101 def Get(self, id: int) -> DesignVariable: ... 8102 8103 def Get(self, item1 = None) -> DesignVariable: 8104 if isinstance(item1, types.VariableParameter): 8105 return DesignVariable(self._Entity.Get(_types.VariableParameter(item1.value))) 8106 8107 if isinstance(item1, int): 8108 return DesignVariable(super().Get(item1)) 8109 8110 return DesignVariable(self._Entity.Get(_types.VariableParameter(item1.value))) 8111 8112 def __getitem__(self, index: int): 8113 return self.DesignVariableColList[index] 8114 8115 def __iter__(self): 8116 yield from self.DesignVariableColList 8117 8118 def __len__(self): 8119 return len(self.DesignVariableColList) 8120 8121 8122class ZoneDesignProperty(DesignProperty): 8123 def __init__(self, zoneDesignProperty: _api.ZoneDesignProperty): 8124 self._Entity = zoneDesignProperty 8125 8126 @property 8127 def FamilyId(self) -> types.BeamPanelFamily: 8128 return types.BeamPanelFamily[self._Entity.FamilyId.ToString()] 8129 8130 @property 8131 def ConceptId(self) -> int: 8132 return self._Entity.ConceptId 8133 8134 @property 8135 def FamilyConceptUID(self) -> types.FamilyConceptUID: 8136 return types.FamilyConceptUID[self._Entity.FamilyConceptUID.ToString()] 8137 8138 @property 8139 def ToolingConstraints(self) -> ToolingConstraintCol: 8140 result = self._Entity.ToolingConstraints 8141 return ToolingConstraintCol(result) if result is not None else None 8142 8143 @property 8144 def DesignVariables(self) -> DesignVariableCol: 8145 result = self._Entity.DesignVariables 8146 return DesignVariableCol(result) if result is not None else None 8147 8148 8149class BulkUpdaterBase(ABC): 8150 def __init__(self, bulkUpdaterBase: _api.BulkUpdaterBase): 8151 self._Entity = bulkUpdaterBase 8152 8153 def Update(self, func: Action) -> None: 8154 entityType = self._Entity.GetType().BaseType.GenericTypeArguments[0] 8155 funcAction = Action[entityType](func) 8156 return self._Entity.Update(funcAction) 8157 8158 8159class LoadPropertyUserRowBulkUpdater(BulkUpdaterBase): 8160 def __init__(self, loadPropertyUserRowBulkUpdater: _api.LoadPropertyUserRowBulkUpdater): 8161 self._Entity = loadPropertyUserRowBulkUpdater 8162 8163 8164class LoadPropertyUserRow(IdNameEntity): 8165 def __init__(self, loadPropertyUserRow: _api.LoadPropertyUserRow): 8166 self._Entity = loadPropertyUserRow 8167 8168 @property 8169 def LoadScenarioId(self) -> int: 8170 return self._Entity.LoadScenarioId 8171 8172 @property 8173 def LoadPropertyId(self) -> int: 8174 return self._Entity.LoadPropertyId 8175 8176 @property 8177 def Type(self) -> types.LoadSetType: 8178 return types.LoadSetType[self._Entity.Type.ToString()] 8179 8180 @property 8181 def ReferenceTemperature(self) -> float: 8182 return self._Entity.ReferenceTemperature 8183 8184 @property 8185 def PressureOrTemperature(self) -> float: 8186 return self._Entity.PressureOrTemperature 8187 8188 @property 8189 def LimitFactor(self) -> float: 8190 return self._Entity.LimitFactor 8191 8192 @property 8193 def UltimateFactor(self) -> float: 8194 return self._Entity.UltimateFactor 8195 8196 @ReferenceTemperature.setter 8197 def ReferenceTemperature(self, value: float) -> None: 8198 self._Entity.ReferenceTemperature = value 8199 8200 @PressureOrTemperature.setter 8201 def PressureOrTemperature(self, value: float) -> None: 8202 self._Entity.PressureOrTemperature = value 8203 8204 @LimitFactor.setter 8205 def LimitFactor(self, value: float) -> None: 8206 self._Entity.LimitFactor = value 8207 8208 @UltimateFactor.setter 8209 def UltimateFactor(self, value: float) -> None: 8210 self._Entity.UltimateFactor = value 8211 8212 8213class LoadPropertyUserBeamRow(LoadPropertyUserRow): 8214 def __init__(self, loadPropertyUserBeamRow: _api.LoadPropertyUserBeamRow): 8215 self._Entity = loadPropertyUserBeamRow 8216 8217 @property 8218 def M1A(self) -> float: 8219 return self._Entity.M1A 8220 8221 @property 8222 def M2A(self) -> float: 8223 return self._Entity.M2A 8224 8225 @property 8226 def M1B(self) -> float: 8227 return self._Entity.M1B 8228 8229 @property 8230 def M2B(self) -> float: 8231 return self._Entity.M2B 8232 8233 @property 8234 def V1(self) -> float: 8235 return self._Entity.V1 8236 8237 @property 8238 def V2(self) -> float: 8239 return self._Entity.V2 8240 8241 @property 8242 def Axial(self) -> float: 8243 return self._Entity.Axial 8244 8245 @property 8246 def Torque(self) -> float: 8247 return self._Entity.Torque 8248 8249 @M1A.setter 8250 def M1A(self, value: float) -> None: 8251 self._Entity.M1A = value 8252 8253 @M2A.setter 8254 def M2A(self, value: float) -> None: 8255 self._Entity.M2A = value 8256 8257 @M1B.setter 8258 def M1B(self, value: float) -> None: 8259 self._Entity.M1B = value 8260 8261 @M2B.setter 8262 def M2B(self, value: float) -> None: 8263 self._Entity.M2B = value 8264 8265 @V1.setter 8266 def V1(self, value: float) -> None: 8267 self._Entity.V1 = value 8268 8269 @V2.setter 8270 def V2(self, value: float) -> None: 8271 self._Entity.V2 = value 8272 8273 @Axial.setter 8274 def Axial(self, value: float) -> None: 8275 self._Entity.Axial = value 8276 8277 @Torque.setter 8278 def Torque(self, value: float) -> None: 8279 self._Entity.Torque = value 8280 8281 8282class LoadPropertyUserFeaBeamRow(LoadPropertyUserBeamRow): 8283 def __init__(self, loadPropertyUserFeaBeamRow: _api.LoadPropertyUserFeaBeamRow): 8284 self._Entity = loadPropertyUserFeaBeamRow 8285 8286 def SetName(self, name: str) -> None: 8287 ''' 8288 Set the name for the scenario 8289 ''' 8290 return self._Entity.SetName(name) 8291 8292 8293class LoadPropertyUserFeaBeamRowBulkUpdater(LoadPropertyUserRowBulkUpdater): 8294 def __init__(self, loadPropertyUserFeaBeamRowBulkUpdater: _api.LoadPropertyUserFeaBeamRowBulkUpdater): 8295 self._Entity = loadPropertyUserFeaBeamRowBulkUpdater 8296 8297 def GetBulkUpdater(application: Application, items: list[LoadPropertyUserFeaBeamRow]) -> LoadPropertyUserFeaBeamRowBulkUpdater: 8298 itemsList = List[_api.LoadPropertyUserFeaBeamRow]() 8299 if items is not None: 8300 for thing in items: 8301 if thing is not None: 8302 itemsList.Add(thing._Entity) 8303 return LoadPropertyUserFeaBeamRowBulkUpdater(_api.LoadPropertyUserFeaBeamRowBulkUpdater.GetBulkUpdater(application._Entity, itemsList)) 8304 8305 8306class LoadPropertyUserPanelJointRow(LoadPropertyUserRow): 8307 def __init__(self, loadPropertyUserPanelJointRow: _api.LoadPropertyUserPanelJointRow): 8308 self._Entity = loadPropertyUserPanelJointRow 8309 8310 @property 8311 def Nx(self) -> float: 8312 return self._Entity.Nx 8313 8314 @property 8315 def Ny(self) -> float: 8316 return self._Entity.Ny 8317 8318 @property 8319 def Nxy(self) -> float: 8320 return self._Entity.Nxy 8321 8322 @property 8323 def Mx(self) -> float: 8324 return self._Entity.Mx 8325 8326 @property 8327 def My(self) -> float: 8328 return self._Entity.My 8329 8330 @property 8331 def Mxy(self) -> float: 8332 return self._Entity.Mxy 8333 8334 @property 8335 def Qx(self) -> float: 8336 return self._Entity.Qx 8337 8338 @property 8339 def Qy(self) -> float: 8340 return self._Entity.Qy 8341 8342 @Nx.setter 8343 def Nx(self, value: float) -> None: 8344 self._Entity.Nx = value 8345 8346 @Ny.setter 8347 def Ny(self, value: float) -> None: 8348 self._Entity.Ny = value 8349 8350 @Nxy.setter 8351 def Nxy(self, value: float) -> None: 8352 self._Entity.Nxy = value 8353 8354 @Mx.setter 8355 def Mx(self, value: float) -> None: 8356 self._Entity.Mx = value 8357 8358 @My.setter 8359 def My(self, value: float) -> None: 8360 self._Entity.My = value 8361 8362 @Mxy.setter 8363 def Mxy(self, value: float) -> None: 8364 self._Entity.Mxy = value 8365 8366 @Qx.setter 8367 def Qx(self, value: float) -> None: 8368 self._Entity.Qx = value 8369 8370 @Qy.setter 8371 def Qy(self, value: float) -> None: 8372 self._Entity.Qy = value 8373 8374 8375class LoadPropertyUserFeaJointRow(LoadPropertyUserPanelJointRow): 8376 def __init__(self, loadPropertyUserFeaJointRow: _api.LoadPropertyUserFeaJointRow): 8377 self._Entity = loadPropertyUserFeaJointRow 8378 8379 def SetName(self, name: str) -> None: 8380 ''' 8381 Set the name for the scenario 8382 ''' 8383 return self._Entity.SetName(name) 8384 8385 8386class LoadPropertyUserFeaJointRowBulkUpdater(LoadPropertyUserRowBulkUpdater): 8387 def __init__(self, loadPropertyUserFeaJointRowBulkUpdater: _api.LoadPropertyUserFeaJointRowBulkUpdater): 8388 self._Entity = loadPropertyUserFeaJointRowBulkUpdater 8389 8390 def GetBulkUpdater(application: Application, items: list[LoadPropertyUserFeaJointRow]) -> LoadPropertyUserFeaJointRowBulkUpdater: 8391 itemsList = List[_api.LoadPropertyUserFeaJointRow]() 8392 if items is not None: 8393 for thing in items: 8394 if thing is not None: 8395 itemsList.Add(thing._Entity) 8396 return LoadPropertyUserFeaJointRowBulkUpdater(_api.LoadPropertyUserFeaJointRowBulkUpdater.GetBulkUpdater(application._Entity, itemsList)) 8397 8398 8399class LoadPropertyUserFeaPanelRow(LoadPropertyUserPanelJointRow): 8400 def __init__(self, loadPropertyUserFeaPanelRow: _api.LoadPropertyUserFeaPanelRow): 8401 self._Entity = loadPropertyUserFeaPanelRow 8402 8403 def SetName(self, name: str) -> None: 8404 ''' 8405 Set the name for the scenario 8406 ''' 8407 return self._Entity.SetName(name) 8408 8409 8410class LoadPropertyUserFeaPanelRowBulkUpdater(LoadPropertyUserRowBulkUpdater): 8411 def __init__(self, loadPropertyUserFeaPanelRowBulkUpdater: _api.LoadPropertyUserFeaPanelRowBulkUpdater): 8412 self._Entity = loadPropertyUserFeaPanelRowBulkUpdater 8413 8414 def GetBulkUpdater(application: Application, items: list[LoadPropertyUserFeaPanelRow]) -> LoadPropertyUserFeaPanelRowBulkUpdater: 8415 itemsList = List[_api.LoadPropertyUserFeaPanelRow]() 8416 if items is not None: 8417 for thing in items: 8418 if thing is not None: 8419 itemsList.Add(thing._Entity) 8420 return LoadPropertyUserFeaPanelRowBulkUpdater(_api.LoadPropertyUserFeaPanelRowBulkUpdater.GetBulkUpdater(application._Entity, itemsList)) 8421 8422 8423class LoadPropertyUserGeneralBeamRow(LoadPropertyUserBeamRow): 8424 def __init__(self, loadPropertyUserGeneralBeamRow: _api.LoadPropertyUserGeneralBeamRow): 8425 self._Entity = loadPropertyUserGeneralBeamRow 8426 8427 @property 8428 def M1A(self) -> float: 8429 return self._Entity.M1A 8430 8431 @property 8432 def M2A(self) -> float: 8433 return self._Entity.M2A 8434 8435 @property 8436 def M1B(self) -> float: 8437 return self._Entity.M1B 8438 8439 @property 8440 def M2B(self) -> float: 8441 return self._Entity.M2B 8442 8443 @property 8444 def V1(self) -> float: 8445 return self._Entity.V1 8446 8447 @property 8448 def V2(self) -> float: 8449 return self._Entity.V2 8450 8451 @property 8452 def Axial(self) -> float: 8453 return self._Entity.Axial 8454 8455 @property 8456 def Torque(self) -> float: 8457 return self._Entity.Torque 8458 8459 @property 8460 def M1AType(self) -> types.BoundaryConditionType: 8461 return types.BoundaryConditionType[self._Entity.M1AType.ToString()] 8462 8463 @property 8464 def M2AType(self) -> types.BoundaryConditionType: 8465 return types.BoundaryConditionType[self._Entity.M2AType.ToString()] 8466 8467 @property 8468 def M1BType(self) -> types.BoundaryConditionType: 8469 return types.BoundaryConditionType[self._Entity.M1BType.ToString()] 8470 8471 @property 8472 def M2BType(self) -> types.BoundaryConditionType: 8473 return types.BoundaryConditionType[self._Entity.M2BType.ToString()] 8474 8475 @property 8476 def V1Type(self) -> types.BoundaryConditionType: 8477 return types.BoundaryConditionType[self._Entity.V1Type.ToString()] 8478 8479 @property 8480 def V2Type(self) -> types.BoundaryConditionType: 8481 return types.BoundaryConditionType[self._Entity.V2Type.ToString()] 8482 8483 @property 8484 def AxialType(self) -> types.BoundaryConditionType: 8485 return types.BoundaryConditionType[self._Entity.AxialType.ToString()] 8486 8487 @property 8488 def TorqueType(self) -> types.BoundaryConditionType: 8489 return types.BoundaryConditionType[self._Entity.TorqueType.ToString()] 8490 8491 @M1A.setter 8492 def M1A(self, value: float) -> None: 8493 self._Entity.M1A = value 8494 8495 @M2A.setter 8496 def M2A(self, value: float) -> None: 8497 self._Entity.M2A = value 8498 8499 @M1B.setter 8500 def M1B(self, value: float) -> None: 8501 self._Entity.M1B = value 8502 8503 @M2B.setter 8504 def M2B(self, value: float) -> None: 8505 self._Entity.M2B = value 8506 8507 @V1.setter 8508 def V1(self, value: float) -> None: 8509 self._Entity.V1 = value 8510 8511 @V2.setter 8512 def V2(self, value: float) -> None: 8513 self._Entity.V2 = value 8514 8515 @Axial.setter 8516 def Axial(self, value: float) -> None: 8517 self._Entity.Axial = value 8518 8519 @Torque.setter 8520 def Torque(self, value: float) -> None: 8521 self._Entity.Torque = value 8522 8523 8524class LoadPropertyUserGeneralBeamRowBulkUpdater(LoadPropertyUserRowBulkUpdater): 8525 def __init__(self, loadPropertyUserGeneralBeamRowBulkUpdater: _api.LoadPropertyUserGeneralBeamRowBulkUpdater): 8526 self._Entity = loadPropertyUserGeneralBeamRowBulkUpdater 8527 8528 def GetBulkUpdater(application: Application, items: list[LoadPropertyUserGeneralBeamRow]) -> LoadPropertyUserGeneralBeamRowBulkUpdater: 8529 itemsList = List[_api.LoadPropertyUserGeneralBeamRow]() 8530 if items is not None: 8531 for thing in items: 8532 if thing is not None: 8533 itemsList.Add(thing._Entity) 8534 return LoadPropertyUserGeneralBeamRowBulkUpdater(_api.LoadPropertyUserGeneralBeamRowBulkUpdater.GetBulkUpdater(application._Entity, itemsList)) 8535 8536 8537class LoadPropertyUserGeneralPanelRow(LoadPropertyUserPanelJointRow): 8538 def __init__(self, loadPropertyUserGeneralPanelRow: _api.LoadPropertyUserGeneralPanelRow): 8539 self._Entity = loadPropertyUserGeneralPanelRow 8540 8541 @property 8542 def Nx(self) -> float: 8543 return self._Entity.Nx 8544 8545 @property 8546 def Ny(self) -> float: 8547 return self._Entity.Ny 8548 8549 @property 8550 def Nxy(self) -> float: 8551 return self._Entity.Nxy 8552 8553 @property 8554 def Mx(self) -> float: 8555 return self._Entity.Mx 8556 8557 @property 8558 def My(self) -> float: 8559 return self._Entity.My 8560 8561 @property 8562 def Mxy(self) -> float: 8563 return self._Entity.Mxy 8564 8565 @property 8566 def Qx(self) -> float: 8567 return self._Entity.Qx 8568 8569 @property 8570 def Qy(self) -> float: 8571 return self._Entity.Qy 8572 8573 @property 8574 def NxType(self) -> types.BoundaryConditionType: 8575 return types.BoundaryConditionType[self._Entity.NxType.ToString()] 8576 8577 @property 8578 def NyType(self) -> types.BoundaryConditionType: 8579 return types.BoundaryConditionType[self._Entity.NyType.ToString()] 8580 8581 @property 8582 def NxyType(self) -> types.BoundaryConditionType: 8583 return types.BoundaryConditionType[self._Entity.NxyType.ToString()] 8584 8585 @property 8586 def MxType(self) -> types.BoundaryConditionType: 8587 return types.BoundaryConditionType[self._Entity.MxType.ToString()] 8588 8589 @property 8590 def MyType(self) -> types.BoundaryConditionType: 8591 return types.BoundaryConditionType[self._Entity.MyType.ToString()] 8592 8593 @property 8594 def MxyType(self) -> types.BoundaryConditionType: 8595 return types.BoundaryConditionType[self._Entity.MxyType.ToString()] 8596 8597 @property 8598 def QxType(self) -> types.BoundaryConditionType: 8599 return types.BoundaryConditionType[self._Entity.QxType.ToString()] 8600 8601 @property 8602 def QyType(self) -> types.BoundaryConditionType: 8603 return types.BoundaryConditionType[self._Entity.QyType.ToString()] 8604 8605 @Nx.setter 8606 def Nx(self, value: float) -> None: 8607 self._Entity.Nx = value 8608 8609 @Ny.setter 8610 def Ny(self, value: float) -> None: 8611 self._Entity.Ny = value 8612 8613 @Nxy.setter 8614 def Nxy(self, value: float) -> None: 8615 self._Entity.Nxy = value 8616 8617 @Mx.setter 8618 def Mx(self, value: float) -> None: 8619 self._Entity.Mx = value 8620 8621 @My.setter 8622 def My(self, value: float) -> None: 8623 self._Entity.My = value 8624 8625 @Mxy.setter 8626 def Mxy(self, value: float) -> None: 8627 self._Entity.Mxy = value 8628 8629 @Qx.setter 8630 def Qx(self, value: float) -> None: 8631 self._Entity.Qx = value 8632 8633 @Qy.setter 8634 def Qy(self, value: float) -> None: 8635 self._Entity.Qy = value 8636 8637 8638class LoadPropertyUserGeneralPanelRowBulkUpdater(LoadPropertyUserRowBulkUpdater): 8639 def __init__(self, loadPropertyUserGeneralPanelRowBulkUpdater: _api.LoadPropertyUserGeneralPanelRowBulkUpdater): 8640 self._Entity = loadPropertyUserGeneralPanelRowBulkUpdater 8641 8642 def GetBulkUpdater(application: Application, items: list[LoadPropertyUserGeneralPanelRow]) -> LoadPropertyUserGeneralPanelRowBulkUpdater: 8643 itemsList = List[_api.LoadPropertyUserGeneralPanelRow]() 8644 if items is not None: 8645 for thing in items: 8646 if thing is not None: 8647 itemsList.Add(thing._Entity) 8648 return LoadPropertyUserGeneralPanelRowBulkUpdater(_api.LoadPropertyUserGeneralPanelRowBulkUpdater.GetBulkUpdater(application._Entity, itemsList)) 8649 8650 8651class LoadPropertyFea(LoadProperty): 8652 def __init__(self, loadPropertyFea: _api.LoadPropertyFea): 8653 self._Entity = loadPropertyFea 8654 8655 @property 8656 def HasNx(self) -> bool: 8657 return self._Entity.HasNx 8658 8659 @property 8660 def HasNy(self) -> bool: 8661 return self._Entity.HasNy 8662 8663 @property 8664 def HasNxy(self) -> bool: 8665 return self._Entity.HasNxy 8666 8667 @property 8668 def HasMx(self) -> bool: 8669 return self._Entity.HasMx 8670 8671 @property 8672 def HasMy(self) -> bool: 8673 return self._Entity.HasMy 8674 8675 @property 8676 def HasMxy(self) -> bool: 8677 return self._Entity.HasMxy 8678 8679 @property 8680 def HasQx(self) -> bool: 8681 return self._Entity.HasQx 8682 8683 @property 8684 def HasQy(self) -> bool: 8685 return self._Entity.HasQy 8686 8687 @property 8688 def HasM1a(self) -> bool: 8689 return self._Entity.HasM1a 8690 8691 @property 8692 def HasM1b(self) -> bool: 8693 return self._Entity.HasM1b 8694 8695 @property 8696 def M2a(self) -> bool: 8697 return self._Entity.M2a 8698 8699 @property 8700 def V1(self) -> bool: 8701 return self._Entity.V1 8702 8703 @property 8704 def V2(self) -> bool: 8705 return self._Entity.V2 8706 8707 @property 8708 def Axial(self) -> bool: 8709 return self._Entity.Axial 8710 8711 @property 8712 def Torque(self) -> bool: 8713 return self._Entity.Torque 8714 8715 @property 8716 def Tension(self) -> bool: 8717 return self._Entity.Tension 8718 8719 @property 8720 def Shear(self) -> bool: 8721 return self._Entity.Shear 8722 8723 @property 8724 def Moment(self) -> bool: 8725 return self._Entity.Moment 8726 8727 @HasNx.setter 8728 def HasNx(self, value: bool) -> None: 8729 self._Entity.HasNx = value 8730 8731 @HasNy.setter 8732 def HasNy(self, value: bool) -> None: 8733 self._Entity.HasNy = value 8734 8735 @HasNxy.setter 8736 def HasNxy(self, value: bool) -> None: 8737 self._Entity.HasNxy = value 8738 8739 @HasMx.setter 8740 def HasMx(self, value: bool) -> None: 8741 self._Entity.HasMx = value 8742 8743 @HasMy.setter 8744 def HasMy(self, value: bool) -> None: 8745 self._Entity.HasMy = value 8746 8747 @HasMxy.setter 8748 def HasMxy(self, value: bool) -> None: 8749 self._Entity.HasMxy = value 8750 8751 @HasQx.setter 8752 def HasQx(self, value: bool) -> None: 8753 self._Entity.HasQx = value 8754 8755 @HasQy.setter 8756 def HasQy(self, value: bool) -> None: 8757 self._Entity.HasQy = value 8758 8759 @HasM1a.setter 8760 def HasM1a(self, value: bool) -> None: 8761 self._Entity.HasM1a = value 8762 8763 @HasM1b.setter 8764 def HasM1b(self, value: bool) -> None: 8765 self._Entity.HasM1b = value 8766 8767 @M2a.setter 8768 def M2a(self, value: bool) -> None: 8769 self._Entity.M2a = value 8770 8771 @V1.setter 8772 def V1(self, value: bool) -> None: 8773 self._Entity.V1 = value 8774 8775 @V2.setter 8776 def V2(self, value: bool) -> None: 8777 self._Entity.V2 = value 8778 8779 @Axial.setter 8780 def Axial(self, value: bool) -> None: 8781 self._Entity.Axial = value 8782 8783 @Torque.setter 8784 def Torque(self, value: bool) -> None: 8785 self._Entity.Torque = value 8786 8787 @Tension.setter 8788 def Tension(self, value: bool) -> None: 8789 self._Entity.Tension = value 8790 8791 @Shear.setter 8792 def Shear(self, value: bool) -> None: 8793 self._Entity.Shear = value 8794 8795 @Moment.setter 8796 def Moment(self, value: bool) -> None: 8797 self._Entity.Moment = value 8798 8799 8800class LoadPropertyAverage(LoadPropertyFea): 8801 def __init__(self, loadPropertyAverage: _api.LoadPropertyAverage): 8802 self._Entity = loadPropertyAverage 8803 8804 @property 8805 def ElementType(self) -> types.LoadPropertyAverageElementType: 8806 return types.LoadPropertyAverageElementType[self._Entity.ElementType.ToString()] 8807 8808 @ElementType.setter 8809 def ElementType(self, value: types.LoadPropertyAverageElementType) -> None: 8810 self._Entity.ElementType = _types.LoadPropertyAverageElementType(value.value) 8811 8812 8813class LoadPropertyElementBased(LoadPropertyFea): 8814 def __init__(self, loadPropertyElementBased: _api.LoadPropertyElementBased): 8815 self._Entity = loadPropertyElementBased 8816 8817 8818class LoadPropertyNeighborAverage(LoadPropertyFea): 8819 def __init__(self, loadPropertyNeighborAverage: _api.LoadPropertyNeighborAverage): 8820 self._Entity = loadPropertyNeighborAverage 8821 8822 @property 8823 def NumberOfNeighborsPerSide(self) -> int: 8824 return self._Entity.NumberOfNeighborsPerSide 8825 8826 @NumberOfNeighborsPerSide.setter 8827 def NumberOfNeighborsPerSide(self, value: int) -> None: 8828 self._Entity.NumberOfNeighborsPerSide = value 8829 8830 8831class LoadPropertyPeakLoad(LoadPropertyFea): 8832 def __init__(self, loadPropertyPeakLoad: _api.LoadPropertyPeakLoad): 8833 self._Entity = loadPropertyPeakLoad 8834 8835 @property 8836 def ElementScope(self) -> types.LoadPropertyPeakElementScope: 8837 return types.LoadPropertyPeakElementScope[self._Entity.ElementScope.ToString()] 8838 8839 @ElementScope.setter 8840 def ElementScope(self, value: types.LoadPropertyPeakElementScope) -> None: 8841 self._Entity.ElementScope = _types.LoadPropertyPeakElementScope(value.value) 8842 8843 8844class LoadPropertyStatistical(LoadPropertyFea): 8845 def __init__(self, loadPropertyStatistical: _api.LoadPropertyStatistical): 8846 self._Entity = loadPropertyStatistical 8847 8848 @property 8849 def NSigma(self) -> int: 8850 return self._Entity.NSigma 8851 8852 @NSigma.setter 8853 def NSigma(self, value: int) -> None: 8854 self._Entity.NSigma = value 8855 8856 8857class LoadPropertyUserFeaRowCol(IdNameEntityCol, Generic[T]): 8858 def __init__(self, loadPropertyUserFeaRowCol: _api.LoadPropertyUserFeaRowCol): 8859 self._Entity = loadPropertyUserFeaRowCol 8860 self._CollectedClass = T 8861 8862 @property 8863 def LoadPropertyUserFeaRowColList(self) -> tuple[T]: 8864 if self._Entity.Count() <= 0: 8865 return () 8866 thisClass = type(self._Entity._items[0]).__name__ 8867 givenClass = T 8868 for subclass in T.__subclasses__(): 8869 if subclass.__name__ == thisClass: 8870 givenClass = subclass 8871 return tuple([givenClass(loadPropertyUserFeaRowCol) for loadPropertyUserFeaRowCol in self._Entity]) 8872 8873 def AddScenario(self, name: str = None) -> T: 8874 ''' 8875 Adds a load scenario with default values. 8876 ''' 8877 return self._Entity.AddScenario(name) 8878 8879 @overload 8880 def DeleteScenario(self, scenarioId: int) -> bool: ... 8881 8882 @overload 8883 def DeleteScenario(self, scenarioName: str) -> bool: ... 8884 8885 @overload 8886 def Get(self, name: str) -> T: ... 8887 8888 @overload 8889 def Get(self, id: int) -> T: ... 8890 8891 def DeleteScenario(self, item1 = None) -> bool: 8892 if isinstance(item1, int): 8893 return self._Entity.DeleteScenario(item1) 8894 8895 if isinstance(item1, str): 8896 return self._Entity.DeleteScenario(item1) 8897 8898 return self._Entity.DeleteScenario(item1) 8899 8900 def Get(self, item1 = None) -> T: 8901 if isinstance(item1, str): 8902 return super().Get(item1) 8903 8904 if isinstance(item1, int): 8905 return super().Get(item1) 8906 8907 return self._Entity.Get(item1) 8908 8909 def __getitem__(self, index: int): 8910 return self.LoadPropertyUserFeaRowColList[index] 8911 8912 def __iter__(self): 8913 yield from self.LoadPropertyUserFeaRowColList 8914 8915 def __len__(self): 8916 return len(self.LoadPropertyUserFeaRowColList) 8917 8918 8919class LoadPropertyUserFeaBeamRowCol(LoadPropertyUserFeaRowCol[LoadPropertyUserFeaBeamRow]): 8920 def __init__(self, loadPropertyUserFeaBeamRowCol: _api.LoadPropertyUserFeaBeamRowCol): 8921 self._Entity = loadPropertyUserFeaBeamRowCol 8922 self._CollectedClass = LoadPropertyUserFeaBeamRow 8923 8924 @property 8925 def LoadPropertyUserFeaBeamRowColList(self) -> tuple[LoadPropertyUserFeaBeamRow]: 8926 return tuple([LoadPropertyUserFeaBeamRow(loadPropertyUserFeaBeamRowCol) for loadPropertyUserFeaBeamRowCol in self._Entity]) 8927 8928 @overload 8929 def DeleteScenario(self, scenarioId: int) -> bool: ... 8930 8931 @overload 8932 def DeleteScenario(self, scenarioName: str) -> bool: ... 8933 8934 @overload 8935 def Get(self, name: str) -> LoadPropertyUserFeaBeamRow: ... 8936 8937 @overload 8938 def Get(self, id: int) -> LoadPropertyUserFeaBeamRow: ... 8939 8940 def DeleteScenario(self, item1 = None) -> bool: 8941 if isinstance(item1, int): 8942 return bool(super().DeleteScenario(item1)) 8943 8944 if isinstance(item1, str): 8945 return bool(super().DeleteScenario(item1)) 8946 8947 return self._Entity.DeleteScenario(item1) 8948 8949 def Get(self, item1 = None) -> LoadPropertyUserFeaBeamRow: 8950 if isinstance(item1, str): 8951 return LoadPropertyUserFeaBeamRow(super().Get(item1)) 8952 8953 if isinstance(item1, int): 8954 return LoadPropertyUserFeaBeamRow(super().Get(item1)) 8955 8956 return LoadPropertyUserFeaBeamRow(self._Entity.Get(item1)) 8957 8958 def __getitem__(self, index: int): 8959 return self.LoadPropertyUserFeaBeamRowColList[index] 8960 8961 def __iter__(self): 8962 yield from self.LoadPropertyUserFeaBeamRowColList 8963 8964 def __len__(self): 8965 return len(self.LoadPropertyUserFeaBeamRowColList) 8966 8967 8968class LoadPropertyUserFeaBeam(LoadProperty): 8969 def __init__(self, loadPropertyUserFeaBeam: _api.LoadPropertyUserFeaBeam): 8970 self._Entity = loadPropertyUserFeaBeam 8971 8972 @property 8973 def UserFeaRows(self) -> LoadPropertyUserFeaBeamRowCol: 8974 result = self._Entity.UserFeaRows 8975 return LoadPropertyUserFeaBeamRowCol(result) if result is not None else None 8976 8977 8978class LoadPropertyUserFeaJointRowCol(LoadPropertyUserFeaRowCol[LoadPropertyUserFeaJointRow]): 8979 def __init__(self, loadPropertyUserFeaJointRowCol: _api.LoadPropertyUserFeaJointRowCol): 8980 self._Entity = loadPropertyUserFeaJointRowCol 8981 self._CollectedClass = LoadPropertyUserFeaJointRow 8982 8983 @property 8984 def LoadPropertyUserFeaJointRowColList(self) -> tuple[LoadPropertyUserFeaJointRow]: 8985 return tuple([LoadPropertyUserFeaJointRow(loadPropertyUserFeaJointRowCol) for loadPropertyUserFeaJointRowCol in self._Entity]) 8986 8987 @overload 8988 def DeleteScenario(self, scenarioId: int) -> bool: ... 8989 8990 @overload 8991 def DeleteScenario(self, scenarioName: str) -> bool: ... 8992 8993 @overload 8994 def Get(self, name: str) -> LoadPropertyUserFeaJointRow: ... 8995 8996 @overload 8997 def Get(self, id: int) -> LoadPropertyUserFeaJointRow: ... 8998 8999 def DeleteScenario(self, item1 = None) -> bool: 9000 if isinstance(item1, int): 9001 return bool(super().DeleteScenario(item1)) 9002 9003 if isinstance(item1, str): 9004 return bool(super().DeleteScenario(item1)) 9005 9006 return self._Entity.DeleteScenario(item1) 9007 9008 def Get(self, item1 = None) -> LoadPropertyUserFeaJointRow: 9009 if isinstance(item1, str): 9010 return LoadPropertyUserFeaJointRow(super().Get(item1)) 9011 9012 if isinstance(item1, int): 9013 return LoadPropertyUserFeaJointRow(super().Get(item1)) 9014 9015 return LoadPropertyUserFeaJointRow(self._Entity.Get(item1)) 9016 9017 def __getitem__(self, index: int): 9018 return self.LoadPropertyUserFeaJointRowColList[index] 9019 9020 def __iter__(self): 9021 yield from self.LoadPropertyUserFeaJointRowColList 9022 9023 def __len__(self): 9024 return len(self.LoadPropertyUserFeaJointRowColList) 9025 9026 9027class LoadPropertyUserFeaJoint(LoadProperty): 9028 def __init__(self, loadPropertyUserFeaJoint: _api.LoadPropertyUserFeaJoint): 9029 self._Entity = loadPropertyUserFeaJoint 9030 9031 @property 9032 def UserFeaRows(self) -> LoadPropertyUserFeaJointRowCol: 9033 result = self._Entity.UserFeaRows 9034 return LoadPropertyUserFeaJointRowCol(result) if result is not None else None 9035 9036 9037class LoadPropertyUserFeaPanelRowCol(LoadPropertyUserFeaRowCol[LoadPropertyUserFeaPanelRow]): 9038 def __init__(self, loadPropertyUserFeaPanelRowCol: _api.LoadPropertyUserFeaPanelRowCol): 9039 self._Entity = loadPropertyUserFeaPanelRowCol 9040 self._CollectedClass = LoadPropertyUserFeaPanelRow 9041 9042 @property 9043 def LoadPropertyUserFeaPanelRowColList(self) -> tuple[LoadPropertyUserFeaPanelRow]: 9044 return tuple([LoadPropertyUserFeaPanelRow(loadPropertyUserFeaPanelRowCol) for loadPropertyUserFeaPanelRowCol in self._Entity]) 9045 9046 @overload 9047 def DeleteScenario(self, scenarioId: int) -> bool: ... 9048 9049 @overload 9050 def DeleteScenario(self, scenarioName: str) -> bool: ... 9051 9052 @overload 9053 def Get(self, name: str) -> LoadPropertyUserFeaPanelRow: ... 9054 9055 @overload 9056 def Get(self, id: int) -> LoadPropertyUserFeaPanelRow: ... 9057 9058 def DeleteScenario(self, item1 = None) -> bool: 9059 if isinstance(item1, int): 9060 return bool(super().DeleteScenario(item1)) 9061 9062 if isinstance(item1, str): 9063 return bool(super().DeleteScenario(item1)) 9064 9065 return self._Entity.DeleteScenario(item1) 9066 9067 def Get(self, item1 = None) -> LoadPropertyUserFeaPanelRow: 9068 if isinstance(item1, str): 9069 return LoadPropertyUserFeaPanelRow(super().Get(item1)) 9070 9071 if isinstance(item1, int): 9072 return LoadPropertyUserFeaPanelRow(super().Get(item1)) 9073 9074 return LoadPropertyUserFeaPanelRow(self._Entity.Get(item1)) 9075 9076 def __getitem__(self, index: int): 9077 return self.LoadPropertyUserFeaPanelRowColList[index] 9078 9079 def __iter__(self): 9080 yield from self.LoadPropertyUserFeaPanelRowColList 9081 9082 def __len__(self): 9083 return len(self.LoadPropertyUserFeaPanelRowColList) 9084 9085 9086class LoadPropertyUserFeaPanel(LoadProperty): 9087 def __init__(self, loadPropertyUserFeaPanel: _api.LoadPropertyUserFeaPanel): 9088 self._Entity = loadPropertyUserFeaPanel 9089 9090 @property 9091 def UserFeaRows(self) -> LoadPropertyUserFeaPanelRowCol: 9092 result = self._Entity.UserFeaRows 9093 return LoadPropertyUserFeaPanelRowCol(result) if result is not None else None 9094 9095 def SetIsZeroCurvature(self, isZeroCurvature: bool) -> None: 9096 ''' 9097 Is there an enum for this? 9098 ''' 9099 return self._Entity.SetIsZeroCurvature(isZeroCurvature) 9100 9101 9102class LoadPropertyUserGeneralDoubleRow(IdNameEntity): 9103 def __init__(self, loadPropertyUserGeneralDoubleRow: _api.LoadPropertyUserGeneralDoubleRow): 9104 self._Entity = loadPropertyUserGeneralDoubleRow 9105 9106 @property 9107 def MechanicalRow(self) -> LoadPropertyUserRow: 9108 thisClass = type(self._Entity.MechanicalRow).__name__ 9109 givenClass = LoadPropertyUserRow 9110 for subclass in LoadPropertyUserRow.__subclasses__(): 9111 if subclass.__name__ == thisClass: 9112 givenClass = subclass 9113 result = self._Entity.MechanicalRow 9114 return givenClass(result) if result is not None else None 9115 9116 @property 9117 def ThermalRow(self) -> LoadPropertyUserRow: 9118 thisClass = type(self._Entity.ThermalRow).__name__ 9119 givenClass = LoadPropertyUserRow 9120 for subclass in LoadPropertyUserRow.__subclasses__(): 9121 if subclass.__name__ == thisClass: 9122 givenClass = subclass 9123 result = self._Entity.ThermalRow 9124 return givenClass(result) if result is not None else None 9125 9126 def SetName(self, name: str) -> None: 9127 ''' 9128 Update name for the scenario 9129 ''' 9130 return self._Entity.SetName(name) 9131 9132 9133class LoadPropertyUserGeneralBeamDoubleRow(LoadPropertyUserGeneralDoubleRow): 9134 def __init__(self, loadPropertyUserGeneralBeamDoubleRow: _api.LoadPropertyUserGeneralBeamDoubleRow): 9135 self._Entity = loadPropertyUserGeneralBeamDoubleRow 9136 9137 @property 9138 def MechanicalRow(self) -> LoadPropertyUserRow: 9139 thisClass = type(self._Entity.MechanicalRow).__name__ 9140 givenClass = LoadPropertyUserRow 9141 for subclass in LoadPropertyUserRow.__subclasses__(): 9142 if subclass.__name__ == thisClass: 9143 givenClass = subclass 9144 result = self._Entity.MechanicalRow 9145 return givenClass(result) if result is not None else None 9146 9147 @property 9148 def ThermalRow(self) -> LoadPropertyUserRow: 9149 thisClass = type(self._Entity.ThermalRow).__name__ 9150 givenClass = LoadPropertyUserRow 9151 for subclass in LoadPropertyUserRow.__subclasses__(): 9152 if subclass.__name__ == thisClass: 9153 givenClass = subclass 9154 result = self._Entity.ThermalRow 9155 return givenClass(result) if result is not None else None 9156 9157 @property 9158 def M1AType(self) -> types.BoundaryConditionType: 9159 return types.BoundaryConditionType[self._Entity.M1AType.ToString()] 9160 9161 @property 9162 def M2AType(self) -> types.BoundaryConditionType: 9163 return types.BoundaryConditionType[self._Entity.M2AType.ToString()] 9164 9165 @property 9166 def M1BType(self) -> types.BoundaryConditionType: 9167 return types.BoundaryConditionType[self._Entity.M1BType.ToString()] 9168 9169 @property 9170 def M2BType(self) -> types.BoundaryConditionType: 9171 return types.BoundaryConditionType[self._Entity.M2BType.ToString()] 9172 9173 @property 9174 def V1Type(self) -> types.BoundaryConditionType: 9175 return types.BoundaryConditionType[self._Entity.V1Type.ToString()] 9176 9177 @property 9178 def V2Type(self) -> types.BoundaryConditionType: 9179 return types.BoundaryConditionType[self._Entity.V2Type.ToString()] 9180 9181 @property 9182 def AxialType(self) -> types.BoundaryConditionType: 9183 return types.BoundaryConditionType[self._Entity.AxialType.ToString()] 9184 9185 @property 9186 def TorqueType(self) -> types.BoundaryConditionType: 9187 return types.BoundaryConditionType[self._Entity.TorqueType.ToString()] 9188 9189 def SetM1AType(self, type: types.BoundaryConditionType) -> None: 9190 ''' 9191 Set M1A type for the scenario 9192 ''' 9193 return self._Entity.SetM1AType(_types.BoundaryConditionType(type.value)) 9194 9195 def SetM2AType(self, type: types.BoundaryConditionType) -> None: 9196 ''' 9197 Set M2A type for the scenario 9198 ''' 9199 return self._Entity.SetM2AType(_types.BoundaryConditionType(type.value)) 9200 9201 def SetM1BType(self, type: types.BoundaryConditionType) -> None: 9202 ''' 9203 Set M1B type for the scenario 9204 ''' 9205 return self._Entity.SetM1BType(_types.BoundaryConditionType(type.value)) 9206 9207 def SetM2BType(self, type: types.BoundaryConditionType) -> None: 9208 ''' 9209 Set M2B type for the scenario 9210 ''' 9211 return self._Entity.SetM2BType(_types.BoundaryConditionType(type.value)) 9212 9213 def SetV1Type(self, type: types.BoundaryConditionType) -> None: 9214 ''' 9215 Set V1 type for the scenario 9216 ''' 9217 return self._Entity.SetV1Type(_types.BoundaryConditionType(type.value)) 9218 9219 def SetV2Type(self, type: types.BoundaryConditionType) -> None: 9220 ''' 9221 Set V2 type for the scenario 9222 ''' 9223 return self._Entity.SetV2Type(_types.BoundaryConditionType(type.value)) 9224 9225 def SetAxialType(self, type: types.BoundaryConditionType) -> None: 9226 ''' 9227 Set Axial type for the scenario 9228 ''' 9229 return self._Entity.SetAxialType(_types.BoundaryConditionType(type.value)) 9230 9231 def SetTorqueType(self, type: types.BoundaryConditionType) -> None: 9232 ''' 9233 Set torque type for the scenario 9234 ''' 9235 return self._Entity.SetTorqueType(_types.BoundaryConditionType(type.value)) 9236 9237 9238class LoadPropertyUserGeneralRowCol(IdNameEntityCol, Generic[T]): 9239 def __init__(self, loadPropertyUserGeneralRowCol: _api.LoadPropertyUserGeneralRowCol): 9240 self._Entity = loadPropertyUserGeneralRowCol 9241 self._CollectedClass = T 9242 9243 @property 9244 def LoadPropertyUserGeneralRowColList(self) -> tuple[T]: 9245 if self._Entity.Count() <= 0: 9246 return () 9247 thisClass = type(self._Entity._items[0]).__name__ 9248 givenClass = T 9249 for subclass in T.__subclasses__(): 9250 if subclass.__name__ == thisClass: 9251 givenClass = subclass 9252 return tuple([givenClass(loadPropertyUserGeneralRowCol) for loadPropertyUserGeneralRowCol in self._Entity]) 9253 9254 def AddScenario(self, name: str = None) -> T: 9255 ''' 9256 Add scenario. 9257 ''' 9258 return self._Entity.AddScenario(name) 9259 9260 @overload 9261 def DeleteScenario(self, scenarioId: int) -> bool: ... 9262 9263 @overload 9264 def DeleteScenario(self, scenarioName: str) -> bool: ... 9265 9266 @overload 9267 def Get(self, name: str) -> T: ... 9268 9269 @overload 9270 def Get(self, id: int) -> T: ... 9271 9272 def DeleteScenario(self, item1 = None) -> bool: 9273 if isinstance(item1, int): 9274 return self._Entity.DeleteScenario(item1) 9275 9276 if isinstance(item1, str): 9277 return self._Entity.DeleteScenario(item1) 9278 9279 return self._Entity.DeleteScenario(item1) 9280 9281 def Get(self, item1 = None) -> T: 9282 if isinstance(item1, str): 9283 return super().Get(item1) 9284 9285 if isinstance(item1, int): 9286 return super().Get(item1) 9287 9288 return self._Entity.Get(item1) 9289 9290 def __getitem__(self, index: int): 9291 return self.LoadPropertyUserGeneralRowColList[index] 9292 9293 def __iter__(self): 9294 yield from self.LoadPropertyUserGeneralRowColList 9295 9296 def __len__(self): 9297 return len(self.LoadPropertyUserGeneralRowColList) 9298 9299 9300class LoadPropertyUserGeneralBeamRowCol(LoadPropertyUserGeneralRowCol[LoadPropertyUserGeneralBeamDoubleRow]): 9301 def __init__(self, loadPropertyUserGeneralBeamRowCol: _api.LoadPropertyUserGeneralBeamRowCol): 9302 self._Entity = loadPropertyUserGeneralBeamRowCol 9303 self._CollectedClass = LoadPropertyUserGeneralBeamDoubleRow 9304 9305 @property 9306 def LoadPropertyUserGeneralBeamRowColList(self) -> tuple[LoadPropertyUserGeneralBeamDoubleRow]: 9307 return tuple([LoadPropertyUserGeneralBeamDoubleRow(loadPropertyUserGeneralBeamRowCol) for loadPropertyUserGeneralBeamRowCol in self._Entity]) 9308 9309 @overload 9310 def DeleteScenario(self, scenarioId: int) -> bool: ... 9311 9312 @overload 9313 def DeleteScenario(self, scenarioName: str) -> bool: ... 9314 9315 @overload 9316 def Get(self, name: str) -> LoadPropertyUserGeneralBeamDoubleRow: ... 9317 9318 @overload 9319 def Get(self, id: int) -> LoadPropertyUserGeneralBeamDoubleRow: ... 9320 9321 def DeleteScenario(self, item1 = None) -> bool: 9322 if isinstance(item1, int): 9323 return bool(super().DeleteScenario(item1)) 9324 9325 if isinstance(item1, str): 9326 return bool(super().DeleteScenario(item1)) 9327 9328 return self._Entity.DeleteScenario(item1) 9329 9330 def Get(self, item1 = None) -> LoadPropertyUserGeneralBeamDoubleRow: 9331 if isinstance(item1, str): 9332 return LoadPropertyUserGeneralBeamDoubleRow(super().Get(item1)) 9333 9334 if isinstance(item1, int): 9335 return LoadPropertyUserGeneralBeamDoubleRow(super().Get(item1)) 9336 9337 return LoadPropertyUserGeneralBeamDoubleRow(self._Entity.Get(item1)) 9338 9339 def __getitem__(self, index: int): 9340 return self.LoadPropertyUserGeneralBeamRowColList[index] 9341 9342 def __iter__(self): 9343 yield from self.LoadPropertyUserGeneralBeamRowColList 9344 9345 def __len__(self): 9346 return len(self.LoadPropertyUserGeneralBeamRowColList) 9347 9348 9349class LoadPropertyUserGeneralBeam(LoadProperty): 9350 def __init__(self, loadPropertyUserGeneralBeam: _api.LoadPropertyUserGeneralBeam): 9351 self._Entity = loadPropertyUserGeneralBeam 9352 9353 @property 9354 def UserGeneralRows(self) -> LoadPropertyUserGeneralBeamRowCol: 9355 result = self._Entity.UserGeneralRows 9356 return LoadPropertyUserGeneralBeamRowCol(result) if result is not None else None 9357 9358 @property 9359 def IsIncludingThermal(self) -> bool: 9360 return self._Entity.IsIncludingThermal 9361 9362 @IsIncludingThermal.setter 9363 def IsIncludingThermal(self, value: bool) -> None: 9364 self._Entity.IsIncludingThermal = value 9365 9366 9367class LoadPropertyUserGeneralBoltedRow(IdEntity): 9368 def __init__(self, loadPropertyUserGeneralBoltedRow: _api.LoadPropertyUserGeneralBoltedRow): 9369 self._Entity = loadPropertyUserGeneralBoltedRow 9370 9371 @property 9372 def LoadPropertyId(self) -> int: 9373 return self._Entity.LoadPropertyId 9374 9375 @property 9376 def LoadScenarioId(self) -> int: 9377 return self._Entity.LoadScenarioId 9378 9379 @property 9380 def Fx(self) -> float: 9381 return self._Entity.Fx 9382 9383 @property 9384 def Fy(self) -> float: 9385 return self._Entity.Fy 9386 9387 @property 9388 def Fz(self) -> float: 9389 return self._Entity.Fz 9390 9391 @property 9392 def Mx(self) -> float: 9393 return self._Entity.Mx 9394 9395 @property 9396 def My(self) -> float: 9397 return self._Entity.My 9398 9399 @property 9400 def Mz(self) -> float: 9401 return self._Entity.Mz 9402 9403 @property 9404 def NxBypass(self) -> float: 9405 return self._Entity.NxBypass 9406 9407 @property 9408 def NyBypass(self) -> float: 9409 return self._Entity.NyBypass 9410 9411 @property 9412 def NxyBypass(self) -> float: 9413 return self._Entity.NxyBypass 9414 9415 @property 9416 def LimitFactor(self) -> float: 9417 return self._Entity.LimitFactor 9418 9419 @property 9420 def UltimateFactor(self) -> float: 9421 return self._Entity.UltimateFactor 9422 9423 @Fx.setter 9424 def Fx(self, value: float) -> None: 9425 self._Entity.Fx = value 9426 9427 @Fy.setter 9428 def Fy(self, value: float) -> None: 9429 self._Entity.Fy = value 9430 9431 @Fz.setter 9432 def Fz(self, value: float) -> None: 9433 self._Entity.Fz = value 9434 9435 @Mx.setter 9436 def Mx(self, value: float) -> None: 9437 self._Entity.Mx = value 9438 9439 @My.setter 9440 def My(self, value: float) -> None: 9441 self._Entity.My = value 9442 9443 @Mz.setter 9444 def Mz(self, value: float) -> None: 9445 self._Entity.Mz = value 9446 9447 @NxBypass.setter 9448 def NxBypass(self, value: float) -> None: 9449 self._Entity.NxBypass = value 9450 9451 @NyBypass.setter 9452 def NyBypass(self, value: float) -> None: 9453 self._Entity.NyBypass = value 9454 9455 @NxyBypass.setter 9456 def NxyBypass(self, value: float) -> None: 9457 self._Entity.NxyBypass = value 9458 9459 @LimitFactor.setter 9460 def LimitFactor(self, value: float) -> None: 9461 self._Entity.LimitFactor = value 9462 9463 @UltimateFactor.setter 9464 def UltimateFactor(self, value: float) -> None: 9465 self._Entity.UltimateFactor = value 9466 9467 9468class LoadPropertyUserGeneralBoltedRowCol(IdEntityCol[LoadPropertyUserGeneralBoltedRow]): 9469 def __init__(self, loadPropertyUserGeneralBoltedRowCol: _api.LoadPropertyUserGeneralBoltedRowCol): 9470 self._Entity = loadPropertyUserGeneralBoltedRowCol 9471 self._CollectedClass = LoadPropertyUserGeneralBoltedRow 9472 9473 @property 9474 def LoadPropertyUserGeneralBoltedRowColList(self) -> tuple[LoadPropertyUserGeneralBoltedRow]: 9475 return tuple([LoadPropertyUserGeneralBoltedRow(loadPropertyUserGeneralBoltedRowCol) for loadPropertyUserGeneralBoltedRowCol in self._Entity]) 9476 9477 def AddScenario(self) -> None: 9478 ''' 9479 Adds a load scenario with default values 9480 ''' 9481 return self._Entity.AddScenario() 9482 9483 def DeleteScenario(self, scenarioId: int) -> bool: 9484 ''' 9485 Delete a load scenario by id 9486 ''' 9487 return self._Entity.DeleteScenario(scenarioId) 9488 9489 def __getitem__(self, index: int): 9490 return self.LoadPropertyUserGeneralBoltedRowColList[index] 9491 9492 def __iter__(self): 9493 yield from self.LoadPropertyUserGeneralBoltedRowColList 9494 9495 def __len__(self): 9496 return len(self.LoadPropertyUserGeneralBoltedRowColList) 9497 9498 9499class LoadPropertyUserGeneralBolted(LoadProperty): 9500 def __init__(self, loadPropertyUserGeneralBolted: _api.LoadPropertyUserGeneralBolted): 9501 self._Entity = loadPropertyUserGeneralBolted 9502 9503 @property 9504 def UserGeneralBoltedRows(self) -> LoadPropertyUserGeneralBoltedRowCol: 9505 result = self._Entity.UserGeneralBoltedRows 9506 return LoadPropertyUserGeneralBoltedRowCol(result) if result is not None else None 9507 9508 9509class LoadPropertyUserGeneralBondedRow(IdEntity): 9510 def __init__(self, loadPropertyUserGeneralBondedRow: _api.LoadPropertyUserGeneralBondedRow): 9511 self._Entity = loadPropertyUserGeneralBondedRow 9512 9513 @property 9514 def LoadPropertyId(self) -> int: 9515 return self._Entity.LoadPropertyId 9516 9517 @property 9518 def JointConceptId(self) -> types.JointConceptId: 9519 return types.JointConceptId[self._Entity.JointConceptId.ToString()] 9520 9521 @property 9522 def BondedBcId(self) -> int: 9523 return self._Entity.BondedBcId 9524 9525 @property 9526 def AxialType(self) -> types.BoundaryConditionType: 9527 return types.BoundaryConditionType[self._Entity.AxialType.ToString()] 9528 9529 @property 9530 def MomentType(self) -> types.BoundaryConditionType: 9531 return types.BoundaryConditionType[self._Entity.MomentType.ToString()] 9532 9533 @property 9534 def TransverseType(self) -> types.BoundaryConditionType: 9535 return types.BoundaryConditionType[self._Entity.TransverseType.ToString()] 9536 9537 @property 9538 def ShearType(self) -> types.BoundaryConditionType: 9539 return types.BoundaryConditionType[self._Entity.ShearType.ToString()] 9540 9541 @property 9542 def Axial(self) -> float: 9543 return self._Entity.Axial 9544 9545 @property 9546 def Moment(self) -> float: 9547 return self._Entity.Moment 9548 9549 @property 9550 def Transverse(self) -> float: 9551 return self._Entity.Transverse 9552 9553 @property 9554 def Shear(self) -> float: 9555 return self._Entity.Shear 9556 9557 @AxialType.setter 9558 def AxialType(self, value: types.BoundaryConditionType) -> None: 9559 self._Entity.AxialType = _types.BoundaryConditionType(value.value) 9560 9561 @MomentType.setter 9562 def MomentType(self, value: types.BoundaryConditionType) -> None: 9563 self._Entity.MomentType = _types.BoundaryConditionType(value.value) 9564 9565 @TransverseType.setter 9566 def TransverseType(self, value: types.BoundaryConditionType) -> None: 9567 self._Entity.TransverseType = _types.BoundaryConditionType(value.value) 9568 9569 @ShearType.setter 9570 def ShearType(self, value: types.BoundaryConditionType) -> None: 9571 self._Entity.ShearType = _types.BoundaryConditionType(value.value) 9572 9573 @Axial.setter 9574 def Axial(self, value: float) -> None: 9575 self._Entity.Axial = value 9576 9577 @Moment.setter 9578 def Moment(self, value: float) -> None: 9579 self._Entity.Moment = value 9580 9581 @Transverse.setter 9582 def Transverse(self, value: float) -> None: 9583 self._Entity.Transverse = value 9584 9585 @Shear.setter 9586 def Shear(self, value: float) -> None: 9587 self._Entity.Shear = value 9588 9589 def UpdateRow(self) -> None: 9590 return self._Entity.UpdateRow() 9591 9592 9593class LoadPropertyUserGeneralBondedRowCol(IdEntityCol[LoadPropertyUserGeneralBondedRow]): 9594 def __init__(self, loadPropertyUserGeneralBondedRowCol: _api.LoadPropertyUserGeneralBondedRowCol): 9595 self._Entity = loadPropertyUserGeneralBondedRowCol 9596 self._CollectedClass = LoadPropertyUserGeneralBondedRow 9597 9598 @property 9599 def LoadPropertyUserGeneralBondedRowColList(self) -> tuple[LoadPropertyUserGeneralBondedRow]: 9600 return tuple([LoadPropertyUserGeneralBondedRow(loadPropertyUserGeneralBondedRowCol) for loadPropertyUserGeneralBondedRowCol in self._Entity]) 9601 9602 def __getitem__(self, index: int): 9603 return self.LoadPropertyUserGeneralBondedRowColList[index] 9604 9605 def __iter__(self): 9606 yield from self.LoadPropertyUserGeneralBondedRowColList 9607 9608 def __len__(self): 9609 return len(self.LoadPropertyUserGeneralBondedRowColList) 9610 9611 9612class LoadPropertyJoint(IdEntity): 9613 def __init__(self, loadPropertyJoint: _api.LoadPropertyJoint): 9614 self._Entity = loadPropertyJoint 9615 9616 @property 9617 def UserGeneralBondedRows(self) -> LoadPropertyUserGeneralBondedRowCol: 9618 result = self._Entity.UserGeneralBondedRows 9619 return LoadPropertyUserGeneralBondedRowCol(result) if result is not None else None 9620 9621 @property 9622 def LoadPropertyId(self) -> int: 9623 return self._Entity.LoadPropertyId 9624 9625 @property 9626 def JConceptId(self) -> types.JointConceptId: 9627 return types.JointConceptId[self._Entity.JConceptId.ToString()] 9628 9629 @property 9630 def Ex(self) -> float: 9631 return self._Entity.Ex 9632 9633 @property 9634 def Kx(self) -> float: 9635 return self._Entity.Kx 9636 9637 @property 9638 def Kxy(self) -> float: 9639 return self._Entity.Kxy 9640 9641 @property 9642 def Temperature(self) -> float: 9643 return self._Entity.Temperature 9644 9645 @JConceptId.setter 9646 def JConceptId(self, value: types.JointConceptId) -> None: 9647 self._Entity.JConceptId = _types.JointConceptId(value.value) 9648 9649 @Ex.setter 9650 def Ex(self, value: float) -> None: 9651 self._Entity.Ex = value 9652 9653 @Kx.setter 9654 def Kx(self, value: float) -> None: 9655 self._Entity.Kx = value 9656 9657 @Kxy.setter 9658 def Kxy(self, value: float) -> None: 9659 self._Entity.Kxy = value 9660 9661 @Temperature.setter 9662 def Temperature(self, value: float) -> None: 9663 self._Entity.Temperature = value 9664 9665 9666class LoadPropertyUserGeneralBonded(LoadProperty): 9667 def __init__(self, loadPropertyUserGeneralBonded: _api.LoadPropertyUserGeneralBonded): 9668 self._Entity = loadPropertyUserGeneralBonded 9669 9670 @property 9671 def LoadPropertyJoint(self) -> LoadPropertyJoint: 9672 result = self._Entity.LoadPropertyJoint 9673 return LoadPropertyJoint(result) if result is not None else None 9674 9675 9676class LoadPropertyUserGeneralPanelDoubleRow(LoadPropertyUserGeneralDoubleRow): 9677 def __init__(self, loadPropertyUserGeneralPanelDoubleRow: _api.LoadPropertyUserGeneralPanelDoubleRow): 9678 self._Entity = loadPropertyUserGeneralPanelDoubleRow 9679 9680 @property 9681 def MechanicalRow(self) -> LoadPropertyUserRow: 9682 thisClass = type(self._Entity.MechanicalRow).__name__ 9683 givenClass = LoadPropertyUserRow 9684 for subclass in LoadPropertyUserRow.__subclasses__(): 9685 if subclass.__name__ == thisClass: 9686 givenClass = subclass 9687 result = self._Entity.MechanicalRow 9688 return givenClass(result) if result is not None else None 9689 9690 @property 9691 def ThermalRow(self) -> LoadPropertyUserRow: 9692 thisClass = type(self._Entity.ThermalRow).__name__ 9693 givenClass = LoadPropertyUserRow 9694 for subclass in LoadPropertyUserRow.__subclasses__(): 9695 if subclass.__name__ == thisClass: 9696 givenClass = subclass 9697 result = self._Entity.ThermalRow 9698 return givenClass(result) if result is not None else None 9699 9700 @property 9701 def NxType(self) -> types.BoundaryConditionType: 9702 return types.BoundaryConditionType[self._Entity.NxType.ToString()] 9703 9704 @property 9705 def NyType(self) -> types.BoundaryConditionType: 9706 return types.BoundaryConditionType[self._Entity.NyType.ToString()] 9707 9708 @property 9709 def NxyType(self) -> types.BoundaryConditionType: 9710 return types.BoundaryConditionType[self._Entity.NxyType.ToString()] 9711 9712 @property 9713 def MxType(self) -> types.BoundaryConditionType: 9714 return types.BoundaryConditionType[self._Entity.MxType.ToString()] 9715 9716 @property 9717 def MyType(self) -> types.BoundaryConditionType: 9718 return types.BoundaryConditionType[self._Entity.MyType.ToString()] 9719 9720 @property 9721 def MxyType(self) -> types.BoundaryConditionType: 9722 return types.BoundaryConditionType[self._Entity.MxyType.ToString()] 9723 9724 @property 9725 def QxType(self) -> types.BoundaryConditionType: 9726 return types.BoundaryConditionType[self._Entity.QxType.ToString()] 9727 9728 @property 9729 def QyType(self) -> types.BoundaryConditionType: 9730 return types.BoundaryConditionType[self._Entity.QyType.ToString()] 9731 9732 def SetNxType(self, type: types.BoundaryConditionType) -> None: 9733 ''' 9734 Set Nx type for the scenario 9735 ''' 9736 return self._Entity.SetNxType(_types.BoundaryConditionType(type.value)) 9737 9738 def SetNyType(self, type: types.BoundaryConditionType) -> None: 9739 ''' 9740 Set Ny type for the scenario 9741 ''' 9742 return self._Entity.SetNyType(_types.BoundaryConditionType(type.value)) 9743 9744 def SetNxyType(self, type: types.BoundaryConditionType) -> None: 9745 ''' 9746 Set Nxy type for the scenario 9747 ''' 9748 return self._Entity.SetNxyType(_types.BoundaryConditionType(type.value)) 9749 9750 def SetMxType(self, type: types.BoundaryConditionType) -> None: 9751 ''' 9752 Set Mx type for the scenario 9753 ''' 9754 return self._Entity.SetMxType(_types.BoundaryConditionType(type.value)) 9755 9756 def SetMyType(self, type: types.BoundaryConditionType) -> None: 9757 ''' 9758 Set My type for the scenario 9759 ''' 9760 return self._Entity.SetMyType(_types.BoundaryConditionType(type.value)) 9761 9762 def SetMxyType(self, type: types.BoundaryConditionType) -> None: 9763 ''' 9764 Set Mxy type for the scenario 9765 ''' 9766 return self._Entity.SetMxyType(_types.BoundaryConditionType(type.value)) 9767 9768 def SetQxType(self, type: types.BoundaryConditionType) -> None: 9769 ''' 9770 Set Qx type for the scenario 9771 ''' 9772 return self._Entity.SetQxType(_types.BoundaryConditionType(type.value)) 9773 9774 def SetQyType(self, type: types.BoundaryConditionType) -> None: 9775 ''' 9776 Set Qy type for the scenario 9777 ''' 9778 return self._Entity.SetQyType(_types.BoundaryConditionType(type.value)) 9779 9780 9781class LoadPropertyUserGeneralPanelRowCol(LoadPropertyUserGeneralRowCol[LoadPropertyUserGeneralPanelDoubleRow]): 9782 def __init__(self, loadPropertyUserGeneralPanelRowCol: _api.LoadPropertyUserGeneralPanelRowCol): 9783 self._Entity = loadPropertyUserGeneralPanelRowCol 9784 self._CollectedClass = LoadPropertyUserGeneralPanelDoubleRow 9785 9786 @property 9787 def LoadPropertyUserGeneralPanelRowColList(self) -> tuple[LoadPropertyUserGeneralPanelDoubleRow]: 9788 return tuple([LoadPropertyUserGeneralPanelDoubleRow(loadPropertyUserGeneralPanelRowCol) for loadPropertyUserGeneralPanelRowCol in self._Entity]) 9789 9790 @overload 9791 def DeleteScenario(self, scenarioId: int) -> bool: ... 9792 9793 @overload 9794 def DeleteScenario(self, scenarioName: str) -> bool: ... 9795 9796 @overload 9797 def Get(self, name: str) -> LoadPropertyUserGeneralPanelDoubleRow: ... 9798 9799 @overload 9800 def Get(self, id: int) -> LoadPropertyUserGeneralPanelDoubleRow: ... 9801 9802 def DeleteScenario(self, item1 = None) -> bool: 9803 if isinstance(item1, int): 9804 return bool(super().DeleteScenario(item1)) 9805 9806 if isinstance(item1, str): 9807 return bool(super().DeleteScenario(item1)) 9808 9809 return self._Entity.DeleteScenario(item1) 9810 9811 def Get(self, item1 = None) -> LoadPropertyUserGeneralPanelDoubleRow: 9812 if isinstance(item1, str): 9813 return LoadPropertyUserGeneralPanelDoubleRow(super().Get(item1)) 9814 9815 if isinstance(item1, int): 9816 return LoadPropertyUserGeneralPanelDoubleRow(super().Get(item1)) 9817 9818 return LoadPropertyUserGeneralPanelDoubleRow(self._Entity.Get(item1)) 9819 9820 def __getitem__(self, index: int): 9821 return self.LoadPropertyUserGeneralPanelRowColList[index] 9822 9823 def __iter__(self): 9824 yield from self.LoadPropertyUserGeneralPanelRowColList 9825 9826 def __len__(self): 9827 return len(self.LoadPropertyUserGeneralPanelRowColList) 9828 9829 9830class LoadPropertyUserGeneralPanel(LoadProperty): 9831 def __init__(self, loadPropertyUserGeneralPanel: _api.LoadPropertyUserGeneralPanel): 9832 self._Entity = loadPropertyUserGeneralPanel 9833 9834 @property 9835 def UserGeneralRows(self) -> LoadPropertyUserGeneralPanelRowCol: 9836 result = self._Entity.UserGeneralRows 9837 return LoadPropertyUserGeneralPanelRowCol(result) if result is not None else None 9838 9839 @property 9840 def IsIncludingThermal(self) -> bool: 9841 return self._Entity.IsIncludingThermal 9842 9843 @IsIncludingThermal.setter 9844 def IsIncludingThermal(self, value: bool) -> None: 9845 self._Entity.IsIncludingThermal = value 9846 9847 def SetIsZeroCurvature(self, isZeroCurvature: bool) -> None: 9848 ''' 9849 Is there an enum for this? 9850 ''' 9851 return self._Entity.SetIsZeroCurvature(isZeroCurvature) 9852 9853 9854class JointSelectionDesignResult(JointDesignResult): 9855 def __init__(self, jointSelectionDesignResult: _api.JointSelectionDesignResult): 9856 self._Entity = jointSelectionDesignResult 9857 9858 @property 9859 def JointSelectionId(self) -> types.JointSelectionId: 9860 return types.JointSelectionId[self._Entity.JointSelectionId.ToString()] 9861 9862 9863class JointFastenerDesignResult(JointSelectionDesignResult): 9864 def __init__(self, jointFastenerDesignResult: _api.JointFastenerDesignResult): 9865 self._Entity = jointFastenerDesignResult 9866 9867 @property 9868 def FastenerBoltId(self) -> int: 9869 return self._Entity.FastenerBoltId 9870 9871 @property 9872 def FastenerCodeId(self) -> int: 9873 return self._Entity.FastenerCodeId 9874 9875 9876class JointMaterialDesignResult(JointSelectionDesignResult): 9877 def __init__(self, jointMaterialDesignResult: _api.JointMaterialDesignResult): 9878 self._Entity = jointMaterialDesignResult 9879 9880 @property 9881 def MaterialId(self) -> int: 9882 return self._Entity.MaterialId 9883 9884 @property 9885 def MaterialType(self) -> types.MaterialType: 9886 ''' 9887 Represents a material's type. 9888 ''' 9889 return types.MaterialType[self._Entity.MaterialType.ToString()] 9890 9891 9892class JointRangeDesignResult(JointDesignResult): 9893 def __init__(self, jointRangeDesignResult: _api.JointRangeDesignResult): 9894 self._Entity = jointRangeDesignResult 9895 9896 @property 9897 def JointRangeId(self) -> types.JointRangeId: 9898 return types.JointRangeId[self._Entity.JointRangeId.ToString()] 9899 9900 @property 9901 def Value(self) -> float: 9902 return self._Entity.Value 9903 9904 9905class JointRivetDesignResult(JointSelectionDesignResult): 9906 def __init__(self, jointRivetDesignResult: _api.JointRivetDesignResult): 9907 self._Entity = jointRivetDesignResult 9908 9909 @property 9910 def RivetId(self) -> int: 9911 return self._Entity.RivetId 9912 9913 @property 9914 def RivetDiameterId(self) -> int: 9915 return self._Entity.RivetDiameterId 9916 9917 9918class Environment(ABC): 9919 ''' 9920 Represents HyperX's execution environment (where HyperX is installed). 9921 ''' 9922 def __init__(self, environment: _api.Environment): 9923 self._Entity = environment 9924 9925 def SetLocation(location: str) -> None: 9926 ''' 9927 Set the directory location of the HyperX binaries. 9928 * This method is *not* required for Python and IronPython client application. 9929 * This method is required for C# and VB.NET clients as these applications 9930 need HyperX.Scripting.dll alongside its binaries. 9931 :param location: Path to the binaries. 9932 ''' 9933 return _api.Environment.SetLocation(location) 9934 9935 def Initialize() -> None: 9936 ''' 9937 Initialize the HyperX scripting environment. 9938 ''' 9939 return _api.Environment.Initialize() 9940 9941 9942class FailureCriterionSetting(FailureSetting): 9943 ''' 9944 Setting for a Failure Criteria. 9945 ''' 9946 def __init__(self, failureCriterionSetting: _api.FailureCriterionSetting): 9947 self._Entity = failureCriterionSetting 9948 9949 9950class FailureModeSetting(FailureSetting): 9951 ''' 9952 Setting for a Failure Mode. 9953 ''' 9954 def __init__(self, failureModeSetting: _api.FailureModeSetting): 9955 self._Entity = failureModeSetting 9956 9957 9958class HelperFunctions(ABC): 9959 def __init__(self, helperFunctions: _api.HelperFunctions): 9960 self._Entity = helperFunctions 9961 9962 def NullableSingle(input: float) -> float: 9963 return _api.HelperFunctions.NullableSingle(input) 9964 9965 9966class IBulkUpdatableEntity: 9967 def __init__(self, iBulkUpdatableEntity: _api.IBulkUpdatableEntity): 9968 self._Entity = iBulkUpdatableEntity 9969 9970 pass 9971 9972 9973class LaminatePlyData: 9974 ''' 9975 Per ply data for Laminate materials 9976 ''' 9977 def __init__(self, laminatePlyData: _api.LaminatePlyData): 9978 self._Entity = laminatePlyData 9979 9980 @property 9981 def MaterialId(self) -> int: 9982 return self._Entity.MaterialId 9983 9984 @property 9985 def PlyId(self) -> int: 9986 return self._Entity.PlyId 9987 9988 @property 9989 def PlyMaterialId(self) -> int: 9990 return self._Entity.PlyMaterialId 9991 9992 @property 9993 def PlyMaterialType(self) -> types.MaterialType: 9994 ''' 9995 Represents a material's type. 9996 ''' 9997 return types.MaterialType[self._Entity.PlyMaterialType.ToString()] 9998 9999 @property 10000 def Angle(self) -> float: 10001 return self._Entity.Angle 10002 10003 @property 10004 def Thickness(self) -> float: 10005 return self._Entity.Thickness 10006 10007 @property 10008 def IsFabric(self) -> bool: 10009 return self._Entity.IsFabric 10010 10011 @property 10012 def FamilyPlyId(self) -> int: 10013 return self._Entity.FamilyPlyId 10014 10015 @property 10016 def OriginalPlyId(self) -> int: 10017 return self._Entity.OriginalPlyId 10018 10019 @property 10020 def OriginalFamilyPlyId(self) -> int: 10021 return self._Entity.OriginalFamilyPlyId 10022 10023 @property 10024 def DisplaySequenceId(self) -> int: 10025 return self._Entity.DisplaySequenceId 10026 10027 @property 10028 def PlyStiffenerSubType(self) -> types.PlyStiffenerSubType: 10029 return types.PlyStiffenerSubType[self._Entity.PlyStiffenerSubType.ToString()] 10030 10031 @property 10032 def Object1(self) -> bool: 10033 return self._Entity.Object1 10034 10035 @property 10036 def Object2(self) -> bool: 10037 return self._Entity.Object2 10038 10039 @property 10040 def Object3(self) -> bool: 10041 return self._Entity.Object3 10042 10043 @property 10044 def IsInverted(self) -> bool: 10045 return self._Entity.IsInverted 10046 10047 @property 10048 def IsFullStructure(self) -> bool: 10049 return self._Entity.IsFullStructure 10050 10051 @property 10052 def UseTrueFiberDirection(self) -> bool: 10053 return self._Entity.UseTrueFiberDirection 10054 10055 @property 10056 def IsInFoot(self) -> bool: 10057 return self._Entity.IsInFoot 10058 10059 @property 10060 def IsInWeb(self) -> bool: 10061 return self._Entity.IsInWeb 10062 10063 @property 10064 def IsInCap(self) -> bool: 10065 return self._Entity.IsInCap 10066 10067 def SetMaterial(self, matId: int) -> bool: 10068 ''' 10069 Sets the material of a ply to the matId. This includes: PlyMaterialId and PlyMaterialType, and updates Thickness and IsFabric 10070 ''' 10071 return self._Entity.SetMaterial(matId) 10072 10073 def SetAngle(self, angle: float) -> bool: 10074 ''' 10075 Sets the angle of a ply 10076 ''' 10077 return self._Entity.SetAngle(angle) 10078 10079 10080class Beam(Zone): 10081 def __init__(self, beam: _api.Beam): 10082 self._Entity = beam 10083 10084 @property 10085 def Length(self) -> float: 10086 return self._Entity.Length 10087 10088 @property 10089 def Phi(self) -> float: 10090 return self._Entity.Phi 10091 10092 @property 10093 def K1(self) -> float: 10094 return self._Entity.K1 10095 10096 @property 10097 def K2(self) -> float: 10098 return self._Entity.K2 10099 10100 @property 10101 def ReferencePlane(self) -> types.ReferencePlaneBeam: 10102 return types.ReferencePlaneBeam[self._Entity.ReferencePlane.ToString()] 10103 10104 @Phi.setter 10105 def Phi(self, value: float) -> None: 10106 self._Entity.Phi = value 10107 10108 @K1.setter 10109 def K1(self, value: float) -> None: 10110 self._Entity.K1 = value 10111 10112 @K2.setter 10113 def K2(self, value: float) -> None: 10114 self._Entity.K2 = value 10115 10116 @ReferencePlane.setter 10117 def ReferencePlane(self, value: types.ReferencePlaneBeam) -> None: 10118 self._Entity.ReferencePlane = _types.ReferencePlaneBeam(value.value) 10119 10120 10121class ZoneBulkUpdaterBase(BulkUpdaterBase): 10122 def __init__(self, zoneBulkUpdaterBase: _api.ZoneBulkUpdaterBase): 10123 self._Entity = zoneBulkUpdaterBase 10124 10125 10126class BeamBulkUpdater(ZoneBulkUpdaterBase): 10127 def __init__(self, beamBulkUpdater: _api.BeamBulkUpdater): 10128 self._Entity = beamBulkUpdater 10129 10130 def GetBulkUpdater(application: Application, items: list[Beam]) -> BeamBulkUpdater: 10131 itemsList = List[_api.Beam]() 10132 if items is not None: 10133 for thing in items: 10134 if thing is not None: 10135 itemsList.Add(thing._Entity) 10136 return BeamBulkUpdater(_api.BeamBulkUpdater.GetBulkUpdater(application._Entity, itemsList)) 10137 10138 10139class Panel(Zone): 10140 def __init__(self, panel: _api.Panel): 10141 self._Entity = panel 10142 10143 @property 10144 def Area(self) -> float: 10145 return self._Entity.Area 10146 10147 @property 10148 def ReferencePlane(self) -> types.ReferencePlanePanel: 10149 return types.ReferencePlanePanel[self._Entity.ReferencePlane.ToString()] 10150 10151 @property 10152 def AddedOffset(self) -> float: 10153 return self._Entity.AddedOffset 10154 10155 @property 10156 def YSpan(self) -> float: 10157 return self._Entity.YSpan 10158 10159 @property 10160 def IsCurved(self) -> bool: 10161 return self._Entity.IsCurved 10162 10163 @property 10164 def Radius(self) -> float: 10165 return self._Entity.Radius 10166 10167 @property 10168 def IsFullCylinder(self) -> bool: 10169 return self._Entity.IsFullCylinder 10170 10171 @property 10172 def BucklingMode(self) -> types.ZoneBucklingMode: 10173 return types.ZoneBucklingMode[self._Entity.BucklingMode.ToString()] 10174 10175 @property 10176 def PerformLocalPostbuckling(self) -> bool: 10177 return self._Entity.PerformLocalPostbuckling 10178 10179 @property 10180 def A11Required(self) -> float: 10181 return self._Entity.A11Required 10182 10183 @property 10184 def A22Required(self) -> float: 10185 return self._Entity.A22Required 10186 10187 @property 10188 def A33Required(self) -> float: 10189 return self._Entity.A33Required 10190 10191 @property 10192 def D11Required(self) -> float: 10193 return self._Entity.D11Required 10194 10195 @property 10196 def D22Required(self) -> float: 10197 return self._Entity.D22Required 10198 10199 @property 10200 def D33Required(self) -> float: 10201 return self._Entity.D33Required 10202 10203 @property 10204 def A11Auto(self) -> float: 10205 return self._Entity.A11Auto 10206 10207 @property 10208 def A22Auto(self) -> float: 10209 return self._Entity.A22Auto 10210 10211 @property 10212 def A33Auto(self) -> float: 10213 return self._Entity.A33Auto 10214 10215 @property 10216 def D11Auto(self) -> float: 10217 return self._Entity.D11Auto 10218 10219 @property 10220 def D22Auto(self) -> float: 10221 return self._Entity.D22Auto 10222 10223 @property 10224 def D33Auto(self) -> float: 10225 return self._Entity.D33Auto 10226 10227 @property 10228 def Ey(self) -> float: 10229 return self._Entity.Ey 10230 10231 @property 10232 def Kx(self) -> float: 10233 return self._Entity.Kx 10234 10235 @property 10236 def Ky(self) -> float: 10237 return self._Entity.Ky 10238 10239 @property 10240 def HoneycombCoreAngle(self) -> float: 10241 return self._Entity.HoneycombCoreAngle 10242 10243 @ReferencePlane.setter 10244 def ReferencePlane(self, value: types.ReferencePlanePanel) -> None: 10245 self._Entity.ReferencePlane = _types.ReferencePlanePanel(value.value) 10246 10247 @AddedOffset.setter 10248 def AddedOffset(self, value: float) -> None: 10249 self._Entity.AddedOffset = value 10250 10251 @YSpan.setter 10252 def YSpan(self, value: float) -> None: 10253 self._Entity.YSpan = value 10254 10255 @IsCurved.setter 10256 def IsCurved(self, value: bool) -> None: 10257 self._Entity.IsCurved = value 10258 10259 @Radius.setter 10260 def Radius(self, value: float) -> None: 10261 self._Entity.Radius = value 10262 10263 @IsFullCylinder.setter 10264 def IsFullCylinder(self, value: bool) -> None: 10265 self._Entity.IsFullCylinder = value 10266 10267 @BucklingMode.setter 10268 def BucklingMode(self, value: types.ZoneBucklingMode) -> None: 10269 self._Entity.BucklingMode = _types.ZoneBucklingMode(value.value) 10270 10271 @PerformLocalPostbuckling.setter 10272 def PerformLocalPostbuckling(self, value: bool) -> None: 10273 self._Entity.PerformLocalPostbuckling = value 10274 10275 @A11Required.setter 10276 def A11Required(self, value: float) -> None: 10277 self._Entity.A11Required = value 10278 10279 @A22Required.setter 10280 def A22Required(self, value: float) -> None: 10281 self._Entity.A22Required = value 10282 10283 @A33Required.setter 10284 def A33Required(self, value: float) -> None: 10285 self._Entity.A33Required = value 10286 10287 @D11Required.setter 10288 def D11Required(self, value: float) -> None: 10289 self._Entity.D11Required = value 10290 10291 @D22Required.setter 10292 def D22Required(self, value: float) -> None: 10293 self._Entity.D22Required = value 10294 10295 @D33Required.setter 10296 def D33Required(self, value: float) -> None: 10297 self._Entity.D33Required = value 10298 10299 @Ey.setter 10300 def Ey(self, value: float) -> None: 10301 self._Entity.Ey = value 10302 10303 @Kx.setter 10304 def Kx(self, value: float) -> None: 10305 self._Entity.Kx = value 10306 10307 @Ky.setter 10308 def Ky(self, value: float) -> None: 10309 self._Entity.Ky = value 10310 10311 @HoneycombCoreAngle.setter 10312 def HoneycombCoreAngle(self, value: float) -> None: 10313 self._Entity.HoneycombCoreAngle = value 10314 10315 10316class PanelBulkUpdater(ZoneBulkUpdaterBase): 10317 def __init__(self, panelBulkUpdater: _api.PanelBulkUpdater): 10318 self._Entity = panelBulkUpdater 10319 10320 def GetBulkUpdater(application: Application, items: list[Panel]) -> PanelBulkUpdater: 10321 itemsList = List[_api.Panel]() 10322 if items is not None: 10323 for thing in items: 10324 if thing is not None: 10325 itemsList.Add(thing._Entity) 10326 return PanelBulkUpdater(_api.PanelBulkUpdater.GetBulkUpdater(application._Entity, itemsList)) 10327 10328 10329class PanelSegmentBulkUpdater(ZoneBulkUpdaterBase): 10330 def __init__(self, panelSegmentBulkUpdater: _api.PanelSegmentBulkUpdater): 10331 self._Entity = panelSegmentBulkUpdater 10332 10333 def GetBulkUpdater(application: Application, items: list[PanelSegment]) -> PanelSegmentBulkUpdater: 10334 itemsList = List[_api.PanelSegment]() 10335 if items is not None: 10336 for thing in items: 10337 if thing is not None: 10338 itemsList.Add(thing._Entity) 10339 return PanelSegmentBulkUpdater(_api.PanelSegmentBulkUpdater.GetBulkUpdater(application._Entity, itemsList)) 10340 10341 10342class ZoneBulkUpdater(ZoneBulkUpdaterBase): 10343 def __init__(self, zoneBulkUpdater: _api.ZoneBulkUpdater): 10344 self._Entity = zoneBulkUpdater 10345 10346 def GetBulkUpdater(application: Application, items: list[Zone]) -> ZoneBulkUpdater: 10347 itemsList = List[_api.Zone]() 10348 if items is not None: 10349 for thing in items: 10350 if thing is not None: 10351 itemsList.Add(thing._Entity) 10352 return ZoneBulkUpdater(_api.ZoneBulkUpdater.GetBulkUpdater(application._Entity, itemsList))
25class AnalysisResultToReturn(Enum): 26 ''' 27 Used to specify which analysis result to return. 28 ''' 29 Limit = 1 30 Ultimate = 2 31 Minimum = 3
Used to specify which analysis result to return.
Inherited Members
- enum.Enum
- name
- value
33class CollectionModificationStatus(Enum): 34 ''' 35 Indicates whether a collection was manipulated successfully. 36 ''' 37 Success = 1 38 DuplicateIdFailure = 2 39 EntityMissingAddFailure = 3 40 EntityMissingRemovalFailure = 4 41 FemConnectionFailure = 5 42 RunSetUsageFailure = 6 43 EntityRemovalDependencyFailure = 7
Indicates whether a collection was manipulated successfully.
Inherited Members
- enum.Enum
- name
- value
Inherited Members
- enum.Enum
- name
- value
50class MaterialCreationStatus(Enum): 51 ''' 52 Indicates whether a material was created successfully. 53 If not, this indicates why the material was not created. 54 ''' 55 Success = 1 56 DuplicateNameFailure = 2 57 DuplicateFemIdFailure = 3 58 MissingMaterialToCopy = 4
Indicates whether a material was created successfully. If not, this indicates why the material was not created.
Inherited Members
- enum.Enum
- name
- value
Inherited Members
- enum.Enum
- name
- value
65class DbLengthUnit(Enum): 66 Inches = 1 67 Feet = 2 68 Meters = 3 69 Centimeters = 4 70 Millimeters = 5
Inherited Members
- enum.Enum
- name
- value
72class DbMassUnit(Enum): 73 Pounds = 1 74 Kilograms = 2 75 Slinches = 4 76 Slugs = 5 77 Megagrams = 6
Inherited Members
- enum.Enum
- name
- value
Inherited Members
- enum.Enum
- name
- value
85class ProjectCreationStatus(Enum): 86 ''' 87 Indicates whether a project was created successfully. 88 If not, this indicates why the project was not created. 89 ''' 90 Success = 1 91 Failure = 2 92 DuplicateNameFailure = 3
Indicates whether a project was created successfully. If not, this indicates why the project was not created.
Inherited Members
- enum.Enum
- name
- value
94class ProjectDeletionStatus(Enum): 95 ''' 96 Indicates whether a project was deleted successfully. 97 If not, this indicates why the project was not deleted. 98 ''' 99 Success = 1 100 Failure = 2 101 ProjectDoesNotExistFailure = 3 102 ActiveProjectFailure = 4
Indicates whether a project was deleted successfully. If not, this indicates why the project was not deleted.
Inherited Members
- enum.Enum
- name
- value
Inherited Members
- enum.Enum
- name
- value
109class PropertyAssignmentStatus(Enum): 110 Success = 1 111 Failure = 2 112 FailureCollectionAssignment = 3 113 PropertyIsNull = 4 114 PropertyNotFoundInDb = 5 115 EmptyCollection = 6 116 IncompatiblePropertyAssignment = 7 117 EntityDoesNotExist = 8
Inherited Members
- enum.Enum
- name
- value
119class RundeckBulkUpdateStatus(Enum): 120 NoRundecksUpdated = 0 121 Success = 1 122 InputFilePathDoesNotExist = 2 123 ResultFilePathDoesNotExist = 3 124 InputFilePathAlreadyExists = 4 125 ResultFilePathAlreadyExists = 5 126 InvalidPathCount = 6 127 RundeckBulkUpdateFailure = 7 128 SuccessButIncompatibleFem = 8
Inherited Members
- enum.Enum
- name
- value
130class RundeckCreationStatus(Enum): 131 Success = 1 132 InputFilePathAlreadyExists = 2 133 ResultFilePathAlreadyExists = 3
Inherited Members
- enum.Enum
- name
- value
135class RundeckRemoveStatus(Enum): 136 Success = 1 137 InvalidId = 2 138 CannotRemoveLastRundeck = 3 139 CannotDeletePrimaryRundeck = 4 140 RundeckNotFound = 5 141 RundeckRemoveFailure = 6 142 SuccessButIncompatibleFem = 7
Inherited Members
- enum.Enum
- name
- value
144class RundeckUpdateStatus(Enum): 145 Success = 1 146 InvalidId = 2 147 IdDoesNotExist = 3 148 RundeckAlreadyPrimary = 4 149 InputPathInUse = 5 150 ResultPathInUse = 6 151 RundeckCommitFailure = 7 152 InputPathDoesNotExist = 8 153 ResultPathDoesNotExist = 9 154 SuccessButIncompatibleFem = 10
Inherited Members
- enum.Enum
- name
- value
156class ZoneCreationStatus(Enum): 157 ''' 158 Indicates whether a zone was created successfully. 159 If not, this indicates why the zone was not created. 160 ''' 161 Success = 1 162 DuplicateNameFailure = 2 163 InvalidFamilyCategory = 3
Indicates whether a zone was created successfully. If not, this indicates why the zone was not created.
Inherited Members
- enum.Enum
- name
- value
165class ZoneIdUpdateStatus(Enum): 166 Success = 1 167 DuplicateIdFailure = 2 168 IdOutOfRangeError = 3
Inherited Members
- enum.Enum
- name
- value
170class UnitSystem(Enum): 171 ''' 172 Unit system specified when starting a scripting Application. 173 ''' 174 English = 1 175 SI = 2
Unit system specified when starting a scripting Application.
Inherited Members
- enum.Enum
- name
- value
177class IdEntity(ABC): 178 ''' 179 Represents an entity with an ID. 180 ''' 181 def __init__(self, idEntity: _api.IdEntity): 182 self._Entity = idEntity 183 184 @property 185 def Id(self) -> int: 186 return self._Entity.Id
Represents an entity with an ID.
189class IdNameEntity(IdEntity): 190 ''' 191 Represents an entity with an ID and Name. 192 ''' 193 def __init__(self, idNameEntity: _api.IdNameEntity): 194 self._Entity = idNameEntity 195 196 @property 197 def Name(self) -> str: 198 return self._Entity.Name
Represents an entity with an ID and Name.
200class AnalysisDefinition(IdNameEntity): 201 def __init__(self, analysisDefinition: _api.AnalysisDefinition): 202 self._Entity = analysisDefinition 203 204 @property 205 def AnalysisId(self) -> int: 206 return self._Entity.AnalysisId 207 208 @property 209 def Description(self) -> str: 210 return self._Entity.Description
Represents an entity with an ID and Name.
Inherited Members
213class Margin: 214 ''' 215 Represents a Margin result. 216 ''' 217 def __init__(self, margin: _api.Margin): 218 self._Entity = margin 219 220 @property 221 def AdjustedMargin(self) -> float: 222 return self._Entity.AdjustedMargin 223 224 @property 225 def IsFailureCode(self) -> bool: 226 return self._Entity.IsFailureCode 227 228 @property 229 def IsInformationalCode(self) -> bool: 230 return self._Entity.IsInformationalCode 231 232 @property 233 def MarginCode(self) -> types.MarginCode: 234 return types.MarginCode[self._Entity.MarginCode.ToString()]
Represents a Margin result.
237class AnalysisResult(ABC): 238 ''' 239 Contains result information for an analysis 240 ''' 241 def __init__(self, analysisResult: _api.AnalysisResult): 242 self._Entity = analysisResult 243 244 @property 245 def LimitUltimate(self) -> types.LimitUltimate: 246 ''' 247 Limit vs Ultimate loads. 248 ''' 249 return types.LimitUltimate[self._Entity.LimitUltimate.ToString()] 250 251 @property 252 def LoadCaseId(self) -> int: 253 return self._Entity.LoadCaseId 254 255 @property 256 def Margin(self) -> Margin: 257 ''' 258 Represents a Margin result. 259 ''' 260 result = self._Entity.Margin 261 return Margin(result) if result is not None else None 262 263 @property 264 def AnalysisDefinition(self) -> AnalysisDefinition: 265 result = self._Entity.AnalysisDefinition 266 return AnalysisDefinition(result) if result is not None else None
Contains result information for an analysis
244 @property 245 def LimitUltimate(self) -> types.LimitUltimate: 246 ''' 247 Limit vs Ultimate loads. 248 ''' 249 return types.LimitUltimate[self._Entity.LimitUltimate.ToString()]
Limit vs Ultimate loads.
269class JointAnalysisResult(AnalysisResult): 270 def __init__(self, jointAnalysisResult: _api.JointAnalysisResult): 271 self._Entity = jointAnalysisResult 272 273 @property 274 def ObjectId(self) -> types.JointObject: 275 ''' 276 Enum identifying the possible entities within a joint 277 ''' 278 return types.JointObject[self._Entity.ObjectId.ToString()]
Contains result information for an analysis
273 @property 274 def ObjectId(self) -> types.JointObject: 275 ''' 276 Enum identifying the possible entities within a joint 277 ''' 278 return types.JointObject[self._Entity.ObjectId.ToString()]
Enum identifying the possible entities within a joint
Inherited Members
281class ZoneAnalysisConceptResult(AnalysisResult): 282 def __init__(self, zoneAnalysisConceptResult: _api.ZoneAnalysisConceptResult): 283 self._Entity = zoneAnalysisConceptResult 284 285 @property 286 def ConceptId(self) -> types.FamilyConceptUID: 287 return types.FamilyConceptUID[self._Entity.ConceptId.ToString()]
Contains result information for an analysis
Inherited Members
290class ZoneAnalysisObjectResult(AnalysisResult): 291 def __init__(self, zoneAnalysisObjectResult: _api.ZoneAnalysisObjectResult): 292 self._Entity = zoneAnalysisObjectResult 293 294 @property 295 def ObjectId(self) -> types.FamilyObjectUID: 296 return types.FamilyObjectUID[self._Entity.ObjectId.ToString()]
Contains result information for an analysis
Inherited Members
299class AssignableProperty(IdNameEntity): 300 def __init__(self, assignableProperty: _api.AssignableProperty): 301 self._Entity = assignableProperty
Represents an entity with an ID and Name.
Inherited Members
304class AssignablePropertyWithFamilyCategory(AssignableProperty): 305 def __init__(self, assignablePropertyWithFamilyCategory: _api.AssignablePropertyWithFamilyCategory): 306 self._Entity = assignablePropertyWithFamilyCategory 307 308 @property 309 def FamilyCategory(self) -> types.FamilyCategory: 310 return types.FamilyCategory[self._Entity.FamilyCategory.ToString()]
Represents an entity with an ID and Name.
Inherited Members
313class FailureObjectGroup(IdNameEntity): 314 def __init__(self, failureObjectGroup: _api.FailureObjectGroup): 315 self._Entity = failureObjectGroup 316 317 @property 318 def ObjectGroup(self) -> types.ObjectGroup: 319 return types.ObjectGroup[self._Entity.ObjectGroup.ToString()] 320 321 @property 322 def IsEnabled(self) -> bool: 323 return self._Entity.IsEnabled 324 325 @property 326 def LimitUltimate(self) -> types.LimitUltimate: 327 ''' 328 Limit vs Ultimate loads. 329 ''' 330 return types.LimitUltimate[self._Entity.LimitUltimate.ToString()] 331 332 @property 333 def RequiredMargin(self) -> float: 334 return self._Entity.RequiredMargin 335 336 @IsEnabled.setter 337 def IsEnabled(self, value: bool) -> None: 338 self._Entity.IsEnabled = value 339 340 @LimitUltimate.setter 341 def LimitUltimate(self, value: types.LimitUltimate) -> None: 342 self._Entity.LimitUltimate = _types.LimitUltimate(value.value) 343 344 @RequiredMargin.setter 345 def RequiredMargin(self, value: float) -> None: 346 self._Entity.RequiredMargin = value
Represents an entity with an ID and Name.
325 @property 326 def LimitUltimate(self) -> types.LimitUltimate: 327 ''' 328 Limit vs Ultimate loads. 329 ''' 330 return types.LimitUltimate[self._Entity.LimitUltimate.ToString()]
Limit vs Ultimate loads.
Inherited Members
349class FailureSetting(IdNameEntity): 350 ''' 351 Setting for a Failure Mode or a Failure Criteria. 352 ''' 353 def __init__(self, failureSetting: _api.FailureSetting): 354 self._Entity = failureSetting 355 356 @property 357 def CategoryId(self) -> int: 358 return self._Entity.CategoryId 359 360 @property 361 def DataType(self) -> types.UserConstantDataType: 362 return types.UserConstantDataType[self._Entity.DataType.ToString()] 363 364 @property 365 def DefaultValue(self) -> str: 366 return self._Entity.DefaultValue 367 368 @property 369 def Description(self) -> str: 370 return self._Entity.Description 371 372 @property 373 def EnumValues(self) -> dict[int, str]: 374 enumValuesDict = {} 375 for kvp in self._Entity.EnumValues: 376 enumValuesDict[int(kvp.Key)] = str(kvp.Value) 377 378 return enumValuesDict 379 380 @property 381 def PackageId(self) -> int: 382 return self._Entity.PackageId 383 384 @property 385 def PackageSettingId(self) -> int: 386 return self._Entity.PackageSettingId 387 388 @property 389 def UID(self) -> Guid: 390 return self._Entity.UID 391 392 @property 393 def Value(self) -> str: 394 return self._Entity.Value 395 396 def SetStringValue(self, value: str) -> None: 397 return self._Entity.SetStringValue(value) 398 399 def SetIntValue(self, value: int) -> None: 400 return self._Entity.SetIntValue(value) 401 402 def SetFloatValue(self, value: float) -> None: 403 return self._Entity.SetFloatValue(value) 404 405 def SetBoolValue(self, value: bool) -> None: 406 return self._Entity.SetBoolValue(value) 407 408 def SetSelectionValue(self, index: int) -> None: 409 ''' 410 Set enum value by index. 411 ''' 412 return self._Entity.SetSelectionValue(index)
Setting for a Failure Mode or a Failure Criteria.
408 def SetSelectionValue(self, index: int) -> None: 409 ''' 410 Set enum value by index. 411 ''' 412 return self._Entity.SetSelectionValue(index)
Set enum value by index.
Inherited Members
415class IdEntityCol(Generic[T], ABC): 416 def __init__(self, idEntityCol: _api.IdEntityCol): 417 self._Entity = idEntityCol 418 419 @property 420 def IdEntityColList(self) -> tuple[IdEntity]: 421 if self._Entity.Count() <= 0: 422 return () 423 thisClass = type(self._Entity._items[0]).__name__ 424 givenClass = IdEntity 425 for subclass in IdEntity.__subclasses__(): 426 if subclass.__name__ == thisClass: 427 givenClass = subclass 428 return tuple([givenClass(idEntityCol) for idEntityCol in self._Entity]) 429 430 @property 431 def Ids(self) -> tuple[int]: 432 return tuple([int(int32) for int32 in self._Entity.Ids]) 433 434 def Contains(self, id: int) -> bool: 435 return self._Entity.Contains(id) 436 437 def Count(self) -> int: 438 return self._Entity.Count() 439 440 def Get(self, id: int) -> T: 441 return self._Entity.Get(id) 442 443 def __getitem__(self, index: int): 444 return self.IdEntityColList[index] 445 446 def __iter__(self): 447 yield from self.IdEntityColList 448 449 def __len__(self): 450 return len(self.IdEntityColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
419 @property 420 def IdEntityColList(self) -> tuple[IdEntity]: 421 if self._Entity.Count() <= 0: 422 return () 423 thisClass = type(self._Entity._items[0]).__name__ 424 givenClass = IdEntity 425 for subclass in IdEntity.__subclasses__(): 426 if subclass.__name__ == thisClass: 427 givenClass = subclass 428 return tuple([givenClass(idEntityCol) for idEntityCol in self._Entity])
453class IdNameEntityCol(IdEntityCol, Generic[T]): 454 def __init__(self, idNameEntityCol: _api.IdNameEntityCol): 455 self._Entity = idNameEntityCol 456 self._CollectedClass = T 457 458 @property 459 def IdNameEntityColList(self) -> tuple[T]: 460 if self._Entity.Count() <= 0: 461 return () 462 thisClass = type(self._Entity._items[0]).__name__ 463 givenClass = T 464 for subclass in T.__subclasses__(): 465 if subclass.__name__ == thisClass: 466 givenClass = subclass 467 return tuple([givenClass(idNameEntityCol) for idNameEntityCol in self._Entity]) 468 469 @property 470 def Names(self) -> tuple[str]: 471 return tuple([str(string) for string in self._Entity.Names]) 472 473 @overload 474 def Get(self, name: str) -> T: ... 475 476 @overload 477 def Get(self, id: int) -> T: ... 478 479 def Get(self, item1 = None) -> T: 480 if isinstance(item1, str): 481 return self._Entity.Get(item1) 482 483 if isinstance(item1, int): 484 return super().Get(item1) 485 486 return self._Entity.Get(item1) 487 488 def __getitem__(self, index: int): 489 return self.IdNameEntityColList[index] 490 491 def __iter__(self): 492 yield from self.IdNameEntityColList 493 494 def __len__(self): 495 return len(self.IdNameEntityColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
458 @property 459 def IdNameEntityColList(self) -> tuple[T]: 460 if self._Entity.Count() <= 0: 461 return () 462 thisClass = type(self._Entity._items[0]).__name__ 463 givenClass = T 464 for subclass in T.__subclasses__(): 465 if subclass.__name__ == thisClass: 466 givenClass = subclass 467 return tuple([givenClass(idNameEntityCol) for idNameEntityCol in self._Entity])
Inherited Members
498class FailureObjectGroupCol(IdNameEntityCol[FailureObjectGroup]): 499 def __init__(self, failureObjectGroupCol: _api.FailureObjectGroupCol): 500 self._Entity = failureObjectGroupCol 501 self._CollectedClass = FailureObjectGroup 502 503 @property 504 def FailureObjectGroupColList(self) -> tuple[FailureObjectGroup]: 505 return tuple([FailureObjectGroup(failureObjectGroupCol) for failureObjectGroupCol in self._Entity]) 506 507 @overload 508 def Get(self, objectGroup: types.ObjectGroup) -> FailureObjectGroup: ... 509 510 @overload 511 def Get(self, name: str) -> FailureObjectGroup: ... 512 513 @overload 514 def Get(self, id: int) -> FailureObjectGroup: ... 515 516 def Get(self, item1 = None) -> FailureObjectGroup: 517 if isinstance(item1, types.ObjectGroup): 518 return FailureObjectGroup(self._Entity.Get(_types.ObjectGroup(item1.value))) 519 520 if isinstance(item1, str): 521 return FailureObjectGroup(super().Get(item1)) 522 523 if isinstance(item1, int): 524 return FailureObjectGroup(super().Get(item1)) 525 526 return FailureObjectGroup(self._Entity.Get(_types.ObjectGroup(item1.value))) 527 528 def __getitem__(self, index: int): 529 return self.FailureObjectGroupColList[index] 530 531 def __iter__(self): 532 yield from self.FailureObjectGroupColList 533 534 def __len__(self): 535 return len(self.FailureObjectGroupColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
516 def Get(self, item1 = None) -> FailureObjectGroup: 517 if isinstance(item1, types.ObjectGroup): 518 return FailureObjectGroup(self._Entity.Get(_types.ObjectGroup(item1.value))) 519 520 if isinstance(item1, str): 521 return FailureObjectGroup(super().Get(item1)) 522 523 if isinstance(item1, int): 524 return FailureObjectGroup(super().Get(item1)) 525 526 return FailureObjectGroup(self._Entity.Get(_types.ObjectGroup(item1.value)))
Inherited Members
538class FailureSettingCol(IdNameEntityCol[FailureSetting]): 539 def __init__(self, failureSettingCol: _api.FailureSettingCol): 540 self._Entity = failureSettingCol 541 self._CollectedClass = FailureSetting 542 543 @property 544 def FailureSettingColList(self) -> tuple[FailureSetting]: 545 return tuple([FailureSetting(failureSettingCol) for failureSettingCol in self._Entity]) 546 547 @overload 548 def Get(self, name: str) -> FailureSetting: ... 549 550 @overload 551 def Get(self, id: int) -> FailureSetting: ... 552 553 def Get(self, item1 = None) -> FailureSetting: 554 if isinstance(item1, str): 555 return FailureSetting(super().Get(item1)) 556 557 if isinstance(item1, int): 558 return FailureSetting(super().Get(item1)) 559 560 result = self._Entity.Get(item1) 561 thisClass = type(result).__name__ 562 givenClass = FailureSetting 563 for subclass in FailureSetting.__subclasses__(): 564 if subclass.__name__ == thisClass: 565 givenClass = subclass 566 return givenClass(result) 567 568 def __getitem__(self, index: int): 569 return self.FailureSettingColList[index] 570 571 def __iter__(self): 572 yield from self.FailureSettingColList 573 574 def __len__(self): 575 return len(self.FailureSettingColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
553 def Get(self, item1 = None) -> FailureSetting: 554 if isinstance(item1, str): 555 return FailureSetting(super().Get(item1)) 556 557 if isinstance(item1, int): 558 return FailureSetting(super().Get(item1)) 559 560 result = self._Entity.Get(item1) 561 thisClass = type(result).__name__ 562 givenClass = FailureSetting 563 for subclass in FailureSetting.__subclasses__(): 564 if subclass.__name__ == thisClass: 565 givenClass = subclass 566 return givenClass(result)
Inherited Members
578class FailureCriterion(IdNameEntity): 579 def __init__(self, failureCriterion: _api.FailureCriterion): 580 self._Entity = failureCriterion 581 582 @property 583 def Description(self) -> str: 584 return self._Entity.Description 585 586 @property 587 def IsEnabled(self) -> bool: 588 return self._Entity.IsEnabled 589 590 @property 591 def LimitUltimate(self) -> types.LimitUltimate: 592 return types.LimitUltimate[self._Entity.LimitUltimate.ToString()] 593 594 @property 595 def ObjectGroups(self) -> FailureObjectGroupCol: 596 result = self._Entity.ObjectGroups 597 return FailureObjectGroupCol(result) if result is not None else None 598 599 @property 600 def RequiredMargin(self) -> float: 601 return self._Entity.RequiredMargin 602 603 @property 604 def Settings(self) -> FailureSettingCol: 605 result = self._Entity.Settings 606 return FailureSettingCol(result) if result is not None else None 607 608 @IsEnabled.setter 609 def IsEnabled(self, value: bool) -> None: 610 self._Entity.IsEnabled = value 611 612 @LimitUltimate.setter 613 def LimitUltimate(self, value: types.LimitUltimate) -> None: 614 self._Entity.LimitUltimate = _types.LimitUltimate(value.value) 615 616 @RequiredMargin.setter 617 def RequiredMargin(self, value: float) -> None: 618 self._Entity.RequiredMargin = value
Represents an entity with an ID and Name.
Inherited Members
621class IdNameEntityRenameable(IdNameEntity): 622 def __init__(self, idNameEntityRenameable: _api.IdNameEntityRenameable): 623 self._Entity = idNameEntityRenameable 624 625 def Rename(self, name: str) -> None: 626 return self._Entity.Rename(name)
Represents an entity with an ID and Name.
Inherited Members
629class FailureCriterionCol(IdNameEntityCol[FailureCriterion]): 630 def __init__(self, failureCriterionCol: _api.FailureCriterionCol): 631 self._Entity = failureCriterionCol 632 self._CollectedClass = FailureCriterion 633 634 @property 635 def FailureCriterionColList(self) -> tuple[FailureCriterion]: 636 return tuple([FailureCriterion(failureCriterionCol) for failureCriterionCol in self._Entity]) 637 638 @overload 639 def Get(self, name: str) -> FailureCriterion: ... 640 641 @overload 642 def Get(self, id: int) -> FailureCriterion: ... 643 644 def Get(self, item1 = None) -> FailureCriterion: 645 if isinstance(item1, str): 646 return FailureCriterion(super().Get(item1)) 647 648 if isinstance(item1, int): 649 return FailureCriterion(super().Get(item1)) 650 651 return FailureCriterion(self._Entity.Get(item1)) 652 653 def __getitem__(self, index: int): 654 return self.FailureCriterionColList[index] 655 656 def __iter__(self): 657 yield from self.FailureCriterionColList 658 659 def __len__(self): 660 return len(self.FailureCriterionColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
Inherited Members
663class FailureMode(IdNameEntityRenameable): 664 def __init__(self, failureMode: _api.FailureMode): 665 self._Entity = failureMode 666 667 @property 668 def AnalysisCategoryId(self) -> int: 669 return self._Entity.AnalysisCategoryId 670 671 @property 672 def AnalysisCategoryName(self) -> str: 673 return self._Entity.AnalysisCategoryName 674 675 @property 676 def Criteria(self) -> FailureCriterionCol: 677 result = self._Entity.Criteria 678 return FailureCriterionCol(result) if result is not None else None 679 680 @property 681 def Settings(self) -> FailureSettingCol: 682 result = self._Entity.Settings 683 return FailureSettingCol(result) if result is not None else None
Represents an entity with an ID and Name.
Inherited Members
686class FailureModeCol(IdNameEntityCol[FailureMode]): 687 def __init__(self, failureModeCol: _api.FailureModeCol): 688 self._Entity = failureModeCol 689 self._CollectedClass = FailureMode 690 691 @property 692 def FailureModeColList(self) -> tuple[FailureMode]: 693 return tuple([FailureMode(failureModeCol) for failureModeCol in self._Entity]) 694 695 @overload 696 def CreateFailureMode(self, failureModeCategoryId: int, name: str = None) -> FailureMode: ... 697 698 @overload 699 def CreateFailureMode(self, failureModeCategory: str, name: str = None) -> FailureMode: ... 700 701 @overload 702 def Get(self, name: str) -> FailureMode: ... 703 704 @overload 705 def Get(self, id: int) -> FailureMode: ... 706 707 def CreateFailureMode(self, item1 = None, item2 = None) -> FailureMode: 708 if isinstance(item1, int) and isinstance(item2, str): 709 return FailureMode(self._Entity.CreateFailureMode(item1, item2)) 710 711 if isinstance(item1, str) and isinstance(item2, str): 712 return FailureMode(self._Entity.CreateFailureMode(item1, item2)) 713 714 return FailureMode(self._Entity.CreateFailureMode(item1, item2)) 715 716 def Get(self, item1 = None) -> FailureMode: 717 if isinstance(item1, str): 718 return FailureMode(super().Get(item1)) 719 720 if isinstance(item1, int): 721 return FailureMode(super().Get(item1)) 722 723 return FailureMode(self._Entity.Get(item1)) 724 725 def __getitem__(self, index: int): 726 return self.FailureModeColList[index] 727 728 def __iter__(self): 729 yield from self.FailureModeColList 730 731 def __len__(self): 732 return len(self.FailureModeColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
707 def CreateFailureMode(self, item1 = None, item2 = None) -> FailureMode: 708 if isinstance(item1, int) and isinstance(item2, str): 709 return FailureMode(self._Entity.CreateFailureMode(item1, item2)) 710 711 if isinstance(item1, str) and isinstance(item2, str): 712 return FailureMode(self._Entity.CreateFailureMode(item1, item2)) 713 714 return FailureMode(self._Entity.CreateFailureMode(item1, item2))
Inherited Members
735class AnalysisProperty(AssignablePropertyWithFamilyCategory): 736 def __init__(self, analysisProperty: _api.AnalysisProperty): 737 self._Entity = analysisProperty 738 739 @property 740 def FailureModes(self) -> FailureModeCol: 741 result = self._Entity.FailureModes 742 return FailureModeCol(result) if result is not None else None 743 744 @overload 745 def AddFailureMode(self, id: int) -> None: ... 746 747 @overload 748 def AddFailureMode(self, ids: tuple[int]) -> None: ... 749 750 @overload 751 def RemoveFailureMode(self, id: int) -> None: ... 752 753 @overload 754 def RemoveFailureMode(self, ids: tuple[int]) -> None: ... 755 756 def AddFailureMode(self, item1 = None) -> None: 757 if isinstance(item1, int): 758 return self._Entity.AddFailureMode(item1) 759 760 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int): 761 idsList = MakeCSharpIntList(item1) 762 idsEnumerable = IEnumerable(idsList) 763 return self._Entity.AddFailureMode(idsEnumerable) 764 765 return self._Entity.AddFailureMode(item1) 766 767 def RemoveFailureMode(self, item1 = None) -> None: 768 if isinstance(item1, int): 769 return self._Entity.RemoveFailureMode(item1) 770 771 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int): 772 idsList = MakeCSharpIntList(item1) 773 idsEnumerable = IEnumerable(idsList) 774 return self._Entity.RemoveFailureMode(idsEnumerable) 775 776 return self._Entity.RemoveFailureMode(item1)
Represents an entity with an ID and Name.
756 def AddFailureMode(self, item1 = None) -> None: 757 if isinstance(item1, int): 758 return self._Entity.AddFailureMode(item1) 759 760 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int): 761 idsList = MakeCSharpIntList(item1) 762 idsEnumerable = IEnumerable(idsList) 763 return self._Entity.AddFailureMode(idsEnumerable) 764 765 return self._Entity.AddFailureMode(item1)
767 def RemoveFailureMode(self, item1 = None) -> None: 768 if isinstance(item1, int): 769 return self._Entity.RemoveFailureMode(item1) 770 771 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int): 772 idsList = MakeCSharpIntList(item1) 773 idsEnumerable = IEnumerable(idsList) 774 return self._Entity.RemoveFailureMode(idsEnumerable) 775 776 return self._Entity.RemoveFailureMode(item1)
Inherited Members
779class DesignProperty(AssignablePropertyWithFamilyCategory): 780 def __init__(self, designProperty: _api.DesignProperty): 781 self._Entity = designProperty 782 783 def Copy(self, newName: str = None) -> DesignProperty: 784 ''' 785 Creates a copy of this DesignProperty. 786 ''' 787 result = self._Entity.Copy(newName) 788 thisClass = type(result).__name__ 789 givenClass = DesignProperty 790 for subclass in DesignProperty.__subclasses__(): 791 if subclass.__name__ == thisClass: 792 givenClass = subclass 793 return givenClass(result)
Represents an entity with an ID and Name.
783 def Copy(self, newName: str = None) -> DesignProperty: 784 ''' 785 Creates a copy of this DesignProperty. 786 ''' 787 result = self._Entity.Copy(newName) 788 thisClass = type(result).__name__ 789 givenClass = DesignProperty 790 for subclass in DesignProperty.__subclasses__(): 791 if subclass.__name__ == thisClass: 792 givenClass = subclass 793 return givenClass(result)
Creates a copy of this DesignProperty.
Inherited Members
796class LoadProperty(AssignableProperty): 797 def __init__(self, loadProperty: _api.LoadProperty): 798 self._Entity = loadProperty 799 800 @property 801 def Category(self) -> types.FamilyCategory: 802 return types.FamilyCategory[self._Entity.Category.ToString()] 803 804 @property 805 def Type(self) -> types.LoadPropertyType: 806 return types.LoadPropertyType[self._Entity.Type.ToString()] 807 808 @property 809 def IsZeroCurvature(self) -> bool: 810 return self._Entity.IsZeroCurvature 811 812 @property 813 def ModificationDate(self) -> DateTime: 814 return self._Entity.ModificationDate
Represents an entity with an ID and Name.
Inherited Members
817class DesignLoadSubcase(IdNameEntity): 818 def __init__(self, designLoadSubcase: _api.DesignLoadSubcase): 819 self._Entity = designLoadSubcase 820 821 @property 822 def RunDeckId(self) -> int: 823 return self._Entity.RunDeckId 824 825 @property 826 def IsThermal(self) -> bool: 827 return self._Entity.IsThermal 828 829 @property 830 def IsEditable(self) -> bool: 831 return self._Entity.IsEditable 832 833 @property 834 def Description(self) -> str: 835 return self._Entity.Description 836 837 @property 838 def ModificationDate(self) -> DateTime: 839 return self._Entity.ModificationDate 840 841 @property 842 def NastranSubcaseId(self) -> int: 843 return self._Entity.NastranSubcaseId 844 845 @property 846 def NastranLoadId(self) -> int: 847 return self._Entity.NastranLoadId 848 849 @property 850 def NastranSpcId(self) -> int: 851 return self._Entity.NastranSpcId 852 853 @property 854 def AbaqusStepName(self) -> str: 855 return self._Entity.AbaqusStepName 856 857 @property 858 def AbaqusLoadCaseName(self) -> str: 859 return self._Entity.AbaqusLoadCaseName 860 861 @property 862 def AbaqusStepTime(self) -> float: 863 return self._Entity.AbaqusStepTime 864 865 @property 866 def RunDeckOrder(self) -> int: 867 return self._Entity.RunDeckOrder 868 869 @property 870 def SolutionType(self) -> types.FeaSolutionType: 871 return types.FeaSolutionType[self._Entity.SolutionType.ToString()]
Represents an entity with an ID and Name.
Inherited Members
874class DesignLoadSubcaseMultiplier(IdNameEntity): 875 def __init__(self, designLoadSubcaseMultiplier: _api.DesignLoadSubcaseMultiplier): 876 self._Entity = designLoadSubcaseMultiplier 877 878 @property 879 def LimitFactor(self) -> float: 880 return self._Entity.LimitFactor 881 882 @property 883 def Subcase(self) -> DesignLoadSubcase: 884 result = self._Entity.Subcase 885 return DesignLoadSubcase(result) if result is not None else None 886 887 @property 888 def UltimateFactor(self) -> float: 889 return self._Entity.UltimateFactor 890 891 @property 892 def Value(self) -> float: 893 return self._Entity.Value
Represents an entity with an ID and Name.
Inherited Members
896class DesignLoadSubcaseTemperature(IdNameEntity): 897 def __init__(self, designLoadSubcaseTemperature: _api.DesignLoadSubcaseTemperature): 898 self._Entity = designLoadSubcaseTemperature 899 900 @property 901 def HasTemperatureSubcase(self) -> bool: 902 return self._Entity.HasTemperatureSubcase 903 904 @property 905 def Subcase(self) -> DesignLoadSubcase: 906 result = self._Entity.Subcase 907 return DesignLoadSubcase(result) if result is not None else None 908 909 @property 910 def TemperatureChoiceType(self) -> types.TemperatureChoiceType: 911 ''' 912 Load Case Setting selection for analysis and initial temperature. 913 ''' 914 return types.TemperatureChoiceType[self._Entity.TemperatureChoiceType.ToString()] 915 916 @property 917 def Value(self) -> float: 918 return self._Entity.Value
Represents an entity with an ID and Name.
909 @property 910 def TemperatureChoiceType(self) -> types.TemperatureChoiceType: 911 ''' 912 Load Case Setting selection for analysis and initial temperature. 913 ''' 914 return types.TemperatureChoiceType[self._Entity.TemperatureChoiceType.ToString()]
Load Case Setting selection for analysis and initial temperature.
Inherited Members
921class DesignLoadSubcaseMultiplierCol(IdNameEntityCol[DesignLoadSubcaseMultiplier]): 922 def __init__(self, designLoadSubcaseMultiplierCol: _api.DesignLoadSubcaseMultiplierCol): 923 self._Entity = designLoadSubcaseMultiplierCol 924 self._CollectedClass = DesignLoadSubcaseMultiplier 925 926 @property 927 def DesignLoadSubcaseMultiplierColList(self) -> tuple[DesignLoadSubcaseMultiplier]: 928 return tuple([DesignLoadSubcaseMultiplier(designLoadSubcaseMultiplierCol) for designLoadSubcaseMultiplierCol in self._Entity]) 929 930 @overload 931 def Get(self, name: str) -> DesignLoadSubcaseMultiplier: ... 932 933 @overload 934 def Get(self, id: int) -> DesignLoadSubcaseMultiplier: ... 935 936 def Get(self, item1 = None) -> DesignLoadSubcaseMultiplier: 937 if isinstance(item1, str): 938 return DesignLoadSubcaseMultiplier(super().Get(item1)) 939 940 if isinstance(item1, int): 941 return DesignLoadSubcaseMultiplier(super().Get(item1)) 942 943 return DesignLoadSubcaseMultiplier(self._Entity.Get(item1)) 944 945 def __getitem__(self, index: int): 946 return self.DesignLoadSubcaseMultiplierColList[index] 947 948 def __iter__(self): 949 yield from self.DesignLoadSubcaseMultiplierColList 950 951 def __len__(self): 952 return len(self.DesignLoadSubcaseMultiplierColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
936 def Get(self, item1 = None) -> DesignLoadSubcaseMultiplier: 937 if isinstance(item1, str): 938 return DesignLoadSubcaseMultiplier(super().Get(item1)) 939 940 if isinstance(item1, int): 941 return DesignLoadSubcaseMultiplier(super().Get(item1)) 942 943 return DesignLoadSubcaseMultiplier(self._Entity.Get(item1))
Inherited Members
955class DesignLoad(IdNameEntity): 956 def __init__(self, designLoad: _api.DesignLoad): 957 self._Entity = designLoad 958 959 @property 960 def AnalysisTemperature(self) -> DesignLoadSubcaseTemperature: 961 result = self._Entity.AnalysisTemperature 962 return DesignLoadSubcaseTemperature(result) if result is not None else None 963 964 @property 965 def InitialTemperature(self) -> DesignLoadSubcaseTemperature: 966 result = self._Entity.InitialTemperature 967 return DesignLoadSubcaseTemperature(result) if result is not None else None 968 969 @property 970 def Description(self) -> str: 971 return self._Entity.Description 972 973 @property 974 def IsActive(self) -> bool: 975 return self._Entity.IsActive 976 977 @property 978 def IsEditable(self) -> bool: 979 return self._Entity.IsEditable 980 981 @property 982 def IsVirtual(self) -> bool: 983 return self._Entity.IsVirtual 984 985 @property 986 def ModificationDate(self) -> DateTime: 987 return self._Entity.ModificationDate 988 989 @property 990 def SubcaseMultipliers(self) -> DesignLoadSubcaseMultiplierCol: 991 result = self._Entity.SubcaseMultipliers 992 return DesignLoadSubcaseMultiplierCol(result) if result is not None else None 993 994 @property 995 def Types(self) -> list[types.LoadCaseType]: 996 return [types.LoadCaseType[loadCaseType.ToString()] for loadCaseType in self._Entity.Types] 997 998 @property 999 def UID(self) -> Guid: 1000 return self._Entity.UID
Represents an entity with an ID and Name.
Inherited Members
1003class JointDesignResult(IdEntity): 1004 def __init__(self, jointDesignResult: _api.JointDesignResult): 1005 self._Entity = jointDesignResult
Represents an entity with an ID.
1008class ZoneDesignResult(IdEntity): 1009 def __init__(self, zoneDesignResult: _api.ZoneDesignResult): 1010 self._Entity = zoneDesignResult 1011 1012 @property 1013 def VariableParameter(self) -> types.VariableParameter: 1014 return types.VariableParameter[self._Entity.VariableParameter.ToString()] 1015 1016 @property 1017 def Value(self) -> float: 1018 return self._Entity.Value 1019 1020 @property 1021 def MaterialId(self) -> int: 1022 return self._Entity.MaterialId 1023 1024 @property 1025 def MaterialType(self) -> types.MaterialType: 1026 return types.MaterialType[self._Entity.MaterialType.ToString()]
Represents an entity with an ID.
1029class Vector3d: 1030 ''' 1031 Represents a readonly 3D vector. 1032 ''' 1033 def __init__(self, vector3d: _api.Vector3d): 1034 self._Entity = vector3d 1035 1036 def Create_Vector3d(x: float, y: float, z: float): 1037 return Vector3d(_api.Vector3d(x, y, z)) 1038 1039 @property 1040 def X(self) -> float: 1041 return self._Entity.X 1042 1043 @property 1044 def Y(self) -> float: 1045 return self._Entity.Y 1046 1047 @property 1048 def Z(self) -> float: 1049 return self._Entity.Z 1050 1051 @overload 1052 def Equals(self, other) -> bool: ... 1053 1054 @overload 1055 def Equals(self, obj) -> bool: ... 1056 1057 def GetHashCode(self) -> int: 1058 return self._Entity.GetHashCode() 1059 1060 def Equals(self, item1 = None) -> bool: 1061 if isinstance(item1, Vector3d): 1062 return self._Entity.Equals(item1._Entity) 1063 1064 return self._Entity.Equals(item1._Entity) 1065 1066 def __eq__(self, other): 1067 return self.Equals(other) 1068 1069 def __ne__(self, other): 1070 return not self.Equals(other)
Represents a readonly 3D vector.
1073class DiscreteField(IdNameEntityRenameable): 1074 ''' 1075 Represents a table of discrete field data. 1076 ''' 1077 def __init__(self, discreteField: _api.DiscreteField): 1078 self._Entity = discreteField 1079 1080 @property 1081 def Columns(self) -> dict[int, str]: 1082 columnsDict = {} 1083 for kvp in self._Entity.Columns: 1084 columnsDict[int(kvp.Key)] = str(kvp.Value) 1085 1086 return columnsDict 1087 1088 @property 1089 def ColumnCount(self) -> int: 1090 return self._Entity.ColumnCount 1091 1092 @property 1093 def DataType(self) -> types.DiscreteFieldDataType: 1094 ''' 1095 Defines the type of data stored in a Discrete Field. Such as Vector, Scalar, String. 1096 ''' 1097 return types.DiscreteFieldDataType[self._Entity.DataType.ToString()] 1098 1099 @property 1100 def PhysicalEntityType(self) -> types.DiscreteFieldPhysicalEntityType: 1101 ''' 1102 Defines the type of physical entity that a Discrete Field applies to, such as zone, element, joint, etc. 1103 ''' 1104 return types.DiscreteFieldPhysicalEntityType[self._Entity.PhysicalEntityType.ToString()] 1105 1106 @property 1107 def PointIds(self) -> list[Vector3d]: 1108 return [Vector3d(vector3d) for vector3d in self._Entity.PointIds] 1109 1110 @property 1111 def RowCount(self) -> int: 1112 return self._Entity.RowCount 1113 1114 @property 1115 def RowIds(self) -> list[int]: 1116 return [int32 for int32 in self._Entity.RowIds] 1117 1118 def AddColumn(self, name: str) -> int: 1119 ''' 1120 Create a new column with the given name. Returns the Id of the newly created column 1121 ''' 1122 return self._Entity.AddColumn(name) 1123 1124 def AddPointRow(self, pointId: Vector3d) -> None: 1125 ''' 1126 Create an empty row in a point-based table. 1127 ''' 1128 return self._Entity.AddPointRow(pointId._Entity) 1129 1130 @overload 1131 def ReadNumericCell(self, entityId: int, columnId: int) -> float: ... 1132 1133 @overload 1134 def ReadNumericCell(self, pointId: Vector3d, columnId: int) -> float: ... 1135 1136 @overload 1137 def ReadStringCell(self, entityId: int, columnId: int) -> str: ... 1138 1139 @overload 1140 def ReadStringCell(self, pointId: Vector3d, columnId: int) -> str: ... 1141 1142 def SetColumnName(self, columnId: int, name: str) -> None: 1143 return self._Entity.SetColumnName(columnId, name) 1144 1145 @overload 1146 def SetNumericValue(self, entityId: int, columnId: int, value: float) -> None: ... 1147 1148 @overload 1149 def SetNumericValue(self, pointId: Vector3d, columnId: int, value: float) -> None: ... 1150 1151 @overload 1152 def SetStringValue(self, entityId: int, columnId: int, value: str) -> None: ... 1153 1154 @overload 1155 def SetStringValue(self, pointId: Vector3d, columnId: int, value: str) -> None: ... 1156 1157 def DeleteAllRows(self) -> None: 1158 ''' 1159 Delete all rows for this discrete field. 1160 ''' 1161 return self._Entity.DeleteAllRows() 1162 1163 def DeleteColumn(self, columnId: int) -> None: 1164 ''' 1165 Delete a specified column for this discrete field. Columns are 1-indexed. 1166 ''' 1167 return self._Entity.DeleteColumn(columnId) 1168 1169 def DeletePointRow(self, pointId: Vector3d) -> None: 1170 ''' 1171 Delete a specific row for a point-based table. 1172 ''' 1173 return self._Entity.DeletePointRow(pointId._Entity) 1174 1175 def DeleteRow(self, entityId: int) -> None: 1176 ''' 1177 Delete a specific row for a non-point-based table. 1178 ''' 1179 return self._Entity.DeleteRow(entityId) 1180 1181 def DeleteRowsAndColumns(self) -> None: 1182 ''' 1183 Delete all rows and columns for this discrete field. 1184 ''' 1185 return self._Entity.DeleteRowsAndColumns() 1186 1187 def ReadNumericCell(self, item1 = None, item2 = None) -> float: 1188 if isinstance(item1, int) and isinstance(item2, int): 1189 return self._Entity.ReadNumericCell(item1, item2) 1190 1191 if isinstance(item1, Vector3d) and isinstance(item2, int): 1192 return self._Entity.ReadNumericCell(item1._Entity, item2) 1193 1194 return self._Entity.ReadNumericCell(item1, item2) 1195 1196 def ReadStringCell(self, item1 = None, item2 = None) -> str: 1197 if isinstance(item1, int) and isinstance(item2, int): 1198 return self._Entity.ReadStringCell(item1, item2) 1199 1200 if isinstance(item1, Vector3d) and isinstance(item2, int): 1201 return self._Entity.ReadStringCell(item1._Entity, item2) 1202 1203 return self._Entity.ReadStringCell(item1, item2) 1204 1205 def SetNumericValue(self, item1 = None, item2 = None, item3 = None) -> None: 1206 if isinstance(item1, int) and isinstance(item2, int) and isinstance(item3, float): 1207 return self._Entity.SetNumericValue(item1, item2, item3) 1208 1209 if isinstance(item1, Vector3d) and isinstance(item2, int) and isinstance(item3, float): 1210 return self._Entity.SetNumericValue(item1._Entity, item2, item3) 1211 1212 return self._Entity.SetNumericValue(item1, item2, item3) 1213 1214 def SetStringValue(self, item1 = None, item2 = None, item3 = None) -> None: 1215 if isinstance(item1, int) and isinstance(item2, int) and isinstance(item3, str): 1216 return self._Entity.SetStringValue(item1, item2, item3) 1217 1218 if isinstance(item1, Vector3d) and isinstance(item2, int) and isinstance(item3, str): 1219 return self._Entity.SetStringValue(item1._Entity, item2, item3) 1220 1221 return self._Entity.SetStringValue(item1, item2, item3)
Represents a table of discrete field data.
1092 @property 1093 def DataType(self) -> types.DiscreteFieldDataType: 1094 ''' 1095 Defines the type of data stored in a Discrete Field. Such as Vector, Scalar, String. 1096 ''' 1097 return types.DiscreteFieldDataType[self._Entity.DataType.ToString()]
Defines the type of data stored in a Discrete Field. Such as Vector, Scalar, String.
1099 @property 1100 def PhysicalEntityType(self) -> types.DiscreteFieldPhysicalEntityType: 1101 ''' 1102 Defines the type of physical entity that a Discrete Field applies to, such as zone, element, joint, etc. 1103 ''' 1104 return types.DiscreteFieldPhysicalEntityType[self._Entity.PhysicalEntityType.ToString()]
Defines the type of physical entity that a Discrete Field applies to, such as zone, element, joint, etc.
1118 def AddColumn(self, name: str) -> int: 1119 ''' 1120 Create a new column with the given name. Returns the Id of the newly created column 1121 ''' 1122 return self._Entity.AddColumn(name)
Create a new column with the given name. Returns the Id of the newly created column
1124 def AddPointRow(self, pointId: Vector3d) -> None: 1125 ''' 1126 Create an empty row in a point-based table. 1127 ''' 1128 return self._Entity.AddPointRow(pointId._Entity)
Create an empty row in a point-based table.
1187 def ReadNumericCell(self, item1 = None, item2 = None) -> float: 1188 if isinstance(item1, int) and isinstance(item2, int): 1189 return self._Entity.ReadNumericCell(item1, item2) 1190 1191 if isinstance(item1, Vector3d) and isinstance(item2, int): 1192 return self._Entity.ReadNumericCell(item1._Entity, item2) 1193 1194 return self._Entity.ReadNumericCell(item1, item2)
1196 def ReadStringCell(self, item1 = None, item2 = None) -> str: 1197 if isinstance(item1, int) and isinstance(item2, int): 1198 return self._Entity.ReadStringCell(item1, item2) 1199 1200 if isinstance(item1, Vector3d) and isinstance(item2, int): 1201 return self._Entity.ReadStringCell(item1._Entity, item2) 1202 1203 return self._Entity.ReadStringCell(item1, item2)
1205 def SetNumericValue(self, item1 = None, item2 = None, item3 = None) -> None: 1206 if isinstance(item1, int) and isinstance(item2, int) and isinstance(item3, float): 1207 return self._Entity.SetNumericValue(item1, item2, item3) 1208 1209 if isinstance(item1, Vector3d) and isinstance(item2, int) and isinstance(item3, float): 1210 return self._Entity.SetNumericValue(item1._Entity, item2, item3) 1211 1212 return self._Entity.SetNumericValue(item1, item2, item3)
1214 def SetStringValue(self, item1 = None, item2 = None, item3 = None) -> None: 1215 if isinstance(item1, int) and isinstance(item2, int) and isinstance(item3, str): 1216 return self._Entity.SetStringValue(item1, item2, item3) 1217 1218 if isinstance(item1, Vector3d) and isinstance(item2, int) and isinstance(item3, str): 1219 return self._Entity.SetStringValue(item1._Entity, item2, item3) 1220 1221 return self._Entity.SetStringValue(item1, item2, item3)
1157 def DeleteAllRows(self) -> None: 1158 ''' 1159 Delete all rows for this discrete field. 1160 ''' 1161 return self._Entity.DeleteAllRows()
Delete all rows for this discrete field.
1163 def DeleteColumn(self, columnId: int) -> None: 1164 ''' 1165 Delete a specified column for this discrete field. Columns are 1-indexed. 1166 ''' 1167 return self._Entity.DeleteColumn(columnId)
Delete a specified column for this discrete field. Columns are 1-indexed.
1169 def DeletePointRow(self, pointId: Vector3d) -> None: 1170 ''' 1171 Delete a specific row for a point-based table. 1172 ''' 1173 return self._Entity.DeletePointRow(pointId._Entity)
Delete a specific row for a point-based table.
1175 def DeleteRow(self, entityId: int) -> None: 1176 ''' 1177 Delete a specific row for a non-point-based table. 1178 ''' 1179 return self._Entity.DeleteRow(entityId)
Delete a specific row for a non-point-based table.
1181 def DeleteRowsAndColumns(self) -> None: 1182 ''' 1183 Delete all rows and columns for this discrete field. 1184 ''' 1185 return self._Entity.DeleteRowsAndColumns()
Delete all rows and columns for this discrete field.
Inherited Members
1224class Node(IdEntity): 1225 def __init__(self, node: _api.Node): 1226 self._Entity = node 1227 1228 @property 1229 def X(self) -> float: 1230 return self._Entity.X 1231 1232 @property 1233 def Y(self) -> float: 1234 return self._Entity.Y 1235 1236 @property 1237 def Z(self) -> float: 1238 return self._Entity.Z
Represents an entity with an ID.
1241class Centroid: 1242 def __init__(self, centroid: _api.Centroid): 1243 self._Entity = centroid 1244 1245 @property 1246 def X(self) -> float: 1247 return self._Entity.X 1248 1249 @property 1250 def Y(self) -> float: 1251 return self._Entity.Y 1252 1253 @property 1254 def Z(self) -> float: 1255 return self._Entity.Z
1258class Element(IdEntity): 1259 def __init__(self, element: _api.Element): 1260 self._Entity = element 1261 1262 @property 1263 def MarginOfSafety(self) -> float: 1264 return self._Entity.MarginOfSafety 1265 1266 @property 1267 def Centroid(self) -> Centroid: 1268 result = self._Entity.Centroid 1269 return Centroid(result) if result is not None else None 1270 1271 @property 1272 def Nodes(self) -> list[Node]: 1273 return [Node(node) for node in self._Entity.Nodes]
Represents an entity with an ID.
1276class FailureModeCategory(IdNameEntity): 1277 def __init__(self, failureModeCategory: _api.FailureModeCategory): 1278 self._Entity = failureModeCategory 1279 1280 @property 1281 def PackageId(self) -> int: 1282 return self._Entity.PackageId
Represents an entity with an ID and Name.
Inherited Members
1285class EntityWithAssignableProperties(IdNameEntityRenameable): 1286 def __init__(self, entityWithAssignableProperties: _api.EntityWithAssignableProperties): 1287 self._Entity = entityWithAssignableProperties 1288 1289 @property 1290 def AssignedAnalysisProperty(self) -> AnalysisProperty: 1291 result = self._Entity.AssignedAnalysisProperty 1292 return AnalysisProperty(result) if result is not None else None 1293 1294 @property 1295 def AssignedDesignProperty(self) -> DesignProperty: 1296 thisClass = type(self._Entity.AssignedDesignProperty).__name__ 1297 givenClass = DesignProperty 1298 for subclass in DesignProperty.__subclasses__(): 1299 if subclass.__name__ == thisClass: 1300 givenClass = subclass 1301 result = self._Entity.AssignedDesignProperty 1302 return givenClass(result) if result is not None else None 1303 1304 @property 1305 def AssignedLoadProperty(self) -> LoadProperty: 1306 thisClass = type(self._Entity.AssignedLoadProperty).__name__ 1307 givenClass = LoadProperty 1308 for subclass in LoadProperty.__subclasses__(): 1309 if subclass.__name__ == thisClass: 1310 givenClass = subclass 1311 result = self._Entity.AssignedLoadProperty 1312 return givenClass(result) if result is not None else None 1313 1314 def AssignAnalysisProperty(self, id: int) -> PropertyAssignmentStatus: 1315 return PropertyAssignmentStatus[self._Entity.AssignAnalysisProperty(id).ToString()] 1316 1317 def AssignDesignProperty(self, id: int) -> PropertyAssignmentStatus: 1318 return PropertyAssignmentStatus[self._Entity.AssignDesignProperty(id).ToString()] 1319 1320 def AssignLoadProperty(self, id: int) -> PropertyAssignmentStatus: 1321 return PropertyAssignmentStatus[self._Entity.AssignLoadProperty(id).ToString()] 1322 1323 def AssignProperty(self, property: AssignableProperty) -> PropertyAssignmentStatus: 1324 ''' 1325 Assign a Property to this entity. 1326 ''' 1327 return PropertyAssignmentStatus[self._Entity.AssignProperty(property._Entity).ToString()]
Represents an entity with an ID and Name.
1294 @property 1295 def AssignedDesignProperty(self) -> DesignProperty: 1296 thisClass = type(self._Entity.AssignedDesignProperty).__name__ 1297 givenClass = DesignProperty 1298 for subclass in DesignProperty.__subclasses__(): 1299 if subclass.__name__ == thisClass: 1300 givenClass = subclass 1301 result = self._Entity.AssignedDesignProperty 1302 return givenClass(result) if result is not None else None
1304 @property 1305 def AssignedLoadProperty(self) -> LoadProperty: 1306 thisClass = type(self._Entity.AssignedLoadProperty).__name__ 1307 givenClass = LoadProperty 1308 for subclass in LoadProperty.__subclasses__(): 1309 if subclass.__name__ == thisClass: 1310 givenClass = subclass 1311 result = self._Entity.AssignedLoadProperty 1312 return givenClass(result) if result is not None else None
1323 def AssignProperty(self, property: AssignableProperty) -> PropertyAssignmentStatus: 1324 ''' 1325 Assign a Property to this entity. 1326 ''' 1327 return PropertyAssignmentStatus[self._Entity.AssignProperty(property._Entity).ToString()]
Assign a Property to this entity.
Inherited Members
1330class AnalysisResultCol(Generic[T]): 1331 def __init__(self, analysisResultCol: _api.AnalysisResultCol): 1332 self._Entity = analysisResultCol 1333 1334 @property 1335 def AnalysisResultColList(self) -> tuple[AnalysisResult]: 1336 if self._Entity.Count() <= 0: 1337 return () 1338 thisClass = type(self._Entity._items[0]).__name__ 1339 givenClass = AnalysisResult 1340 for subclass in AnalysisResult.__subclasses__(): 1341 if subclass.__name__ == thisClass: 1342 givenClass = subclass 1343 return tuple([givenClass(analysisResultCol) for analysisResultCol in self._Entity]) 1344 1345 def Count(self) -> int: 1346 return self._Entity.Count() 1347 1348 def __getitem__(self, index: int): 1349 return self.AnalysisResultColList[index] 1350 1351 def __iter__(self): 1352 yield from self.AnalysisResultColList 1353 1354 def __len__(self): 1355 return len(self.AnalysisResultColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
1334 @property 1335 def AnalysisResultColList(self) -> tuple[AnalysisResult]: 1336 if self._Entity.Count() <= 0: 1337 return () 1338 thisClass = type(self._Entity._items[0]).__name__ 1339 givenClass = AnalysisResult 1340 for subclass in AnalysisResult.__subclasses__(): 1341 if subclass.__name__ == thisClass: 1342 givenClass = subclass 1343 return tuple([givenClass(analysisResultCol) for analysisResultCol in self._Entity])
1358class ZoneJointEntity(EntityWithAssignableProperties): 1359 ''' 1360 Abstract base for a Zone or Joint. 1361 ''' 1362 def __init__(self, zoneJointEntity: _api.ZoneJointEntity): 1363 self._Entity = zoneJointEntity 1364 1365 @abstractmethod 1366 def GetMinimumMargin(self) -> Margin: 1367 return Margin(self._Entity.GetMinimumMargin()) 1368 1369 @abstractmethod 1370 def GetControllingResult(self) -> AnalysisResult: 1371 result = self._Entity.GetControllingResult() 1372 thisClass = type(result).__name__ 1373 givenClass = AnalysisResult 1374 for subclass in AnalysisResult.__subclasses__(): 1375 if subclass.__name__ == thisClass: 1376 givenClass = subclass 1377 return givenClass(result) 1378 1379 @abstractmethod 1380 def GetAllResults(self) -> AnalysisResultCol: 1381 return AnalysisResultCol(self._Entity.GetAllResults())
Abstract base for a Zone or Joint.
1369 @abstractmethod 1370 def GetControllingResult(self) -> AnalysisResult: 1371 result = self._Entity.GetControllingResult() 1372 thisClass = type(result).__name__ 1373 givenClass = AnalysisResult 1374 for subclass in AnalysisResult.__subclasses__(): 1375 if subclass.__name__ == thisClass: 1376 givenClass = subclass 1377 return givenClass(result)
1384class JointDesignResultCol(IdEntityCol[JointDesignResult]): 1385 def __init__(self, jointDesignResultCol: _api.JointDesignResultCol): 1386 self._Entity = jointDesignResultCol 1387 self._CollectedClass = JointDesignResult 1388 1389 @property 1390 def JointDesignResultColList(self) -> tuple[JointDesignResult]: 1391 return tuple([JointDesignResult(jointDesignResultCol) for jointDesignResultCol in self._Entity]) 1392 1393 @overload 1394 def Get(self, jointSelectionId: types.JointSelectionId) -> JointDesignResult: ... 1395 1396 @overload 1397 def Get(self, jointRangeId: types.JointRangeId) -> JointDesignResult: ... 1398 1399 @overload 1400 def Get(self, id: int) -> JointDesignResult: ... 1401 1402 def Get(self, item1 = None) -> JointDesignResult: 1403 if isinstance(item1, types.JointSelectionId): 1404 result = self._Entity.Get(_types.JointSelectionId(item1.value)) 1405 thisClass = type(result).__name__ 1406 givenClass = JointDesignResult 1407 for subclass in JointDesignResult.__subclasses__(): 1408 if subclass.__name__ == thisClass: 1409 givenClass = subclass 1410 return givenClass(result) 1411 1412 if isinstance(item1, types.JointRangeId): 1413 result = self._Entity.Get(_types.JointRangeId(item1.value)) 1414 thisClass = type(result).__name__ 1415 givenClass = JointDesignResult 1416 for subclass in JointDesignResult.__subclasses__(): 1417 if subclass.__name__ == thisClass: 1418 givenClass = subclass 1419 return givenClass(result) 1420 1421 if isinstance(item1, int): 1422 return JointDesignResult(super().Get(item1)) 1423 1424 result = self._Entity.Get(_types.JointSelectionId(item1.value)) 1425 thisClass = type(result).__name__ 1426 givenClass = JointDesignResult 1427 for subclass in JointDesignResult.__subclasses__(): 1428 if subclass.__name__ == thisClass: 1429 givenClass = subclass 1430 return givenClass(result) 1431 1432 def __getitem__(self, index: int): 1433 return self.JointDesignResultColList[index] 1434 1435 def __iter__(self): 1436 yield from self.JointDesignResultColList 1437 1438 def __len__(self): 1439 return len(self.JointDesignResultColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
1402 def Get(self, item1 = None) -> JointDesignResult: 1403 if isinstance(item1, types.JointSelectionId): 1404 result = self._Entity.Get(_types.JointSelectionId(item1.value)) 1405 thisClass = type(result).__name__ 1406 givenClass = JointDesignResult 1407 for subclass in JointDesignResult.__subclasses__(): 1408 if subclass.__name__ == thisClass: 1409 givenClass = subclass 1410 return givenClass(result) 1411 1412 if isinstance(item1, types.JointRangeId): 1413 result = self._Entity.Get(_types.JointRangeId(item1.value)) 1414 thisClass = type(result).__name__ 1415 givenClass = JointDesignResult 1416 for subclass in JointDesignResult.__subclasses__(): 1417 if subclass.__name__ == thisClass: 1418 givenClass = subclass 1419 return givenClass(result) 1420 1421 if isinstance(item1, int): 1422 return JointDesignResult(super().Get(item1)) 1423 1424 result = self._Entity.Get(_types.JointSelectionId(item1.value)) 1425 thisClass = type(result).__name__ 1426 givenClass = JointDesignResult 1427 for subclass in JointDesignResult.__subclasses__(): 1428 if subclass.__name__ == thisClass: 1429 givenClass = subclass 1430 return givenClass(result)
Inherited Members
1442class Joint(ZoneJointEntity): 1443 def __init__(self, joint: _api.Joint): 1444 self._Entity = joint 1445 1446 @property 1447 def JointRangeSizingResults(self) -> JointDesignResultCol: 1448 result = self._Entity.JointRangeSizingResults 1449 return JointDesignResultCol(result) if result is not None else None 1450 1451 @property 1452 def JointSelectionSizingResults(self) -> JointDesignResultCol: 1453 result = self._Entity.JointSelectionSizingResults 1454 return JointDesignResultCol(result) if result is not None else None 1455 1456 def GetAllResults(self) -> AnalysisResultCol: 1457 return AnalysisResultCol(self._Entity.GetAllResults()) 1458 1459 def GetControllingResult(self) -> AnalysisResult: 1460 result = self._Entity.GetControllingResult() 1461 thisClass = type(result).__name__ 1462 givenClass = AnalysisResult 1463 for subclass in AnalysisResult.__subclasses__(): 1464 if subclass.__name__ == thisClass: 1465 givenClass = subclass 1466 return givenClass(result) 1467 1468 def GetMinimumMargin(self) -> Margin: 1469 return Margin(self._Entity.GetMinimumMargin())
Abstract base for a Zone or Joint.
1459 def GetControllingResult(self) -> AnalysisResult: 1460 result = self._Entity.GetControllingResult() 1461 thisClass = type(result).__name__ 1462 givenClass = AnalysisResult 1463 for subclass in AnalysisResult.__subclasses__(): 1464 if subclass.__name__ == thisClass: 1465 givenClass = subclass 1466 return givenClass(result)
1472class ZoneDesignResultCol(IdEntityCol[ZoneDesignResult]): 1473 def __init__(self, zoneDesignResultCol: _api.ZoneDesignResultCol): 1474 self._Entity = zoneDesignResultCol 1475 self._CollectedClass = ZoneDesignResult 1476 1477 @property 1478 def ZoneDesignResultColList(self) -> tuple[ZoneDesignResult]: 1479 return tuple([ZoneDesignResult(zoneDesignResultCol) for zoneDesignResultCol in self._Entity]) 1480 1481 @overload 1482 def Get(self, parameterId: types.VariableParameter) -> ZoneDesignResult: ... 1483 1484 @overload 1485 def Get(self, id: int) -> ZoneDesignResult: ... 1486 1487 def Get(self, item1 = None) -> ZoneDesignResult: 1488 if isinstance(item1, types.VariableParameter): 1489 return ZoneDesignResult(self._Entity.Get(_types.VariableParameter(item1.value))) 1490 1491 if isinstance(item1, int): 1492 return ZoneDesignResult(super().Get(item1)) 1493 1494 return ZoneDesignResult(self._Entity.Get(_types.VariableParameter(item1.value))) 1495 1496 def __getitem__(self, index: int): 1497 return self.ZoneDesignResultColList[index] 1498 1499 def __iter__(self): 1500 yield from self.ZoneDesignResultColList 1501 1502 def __len__(self): 1503 return len(self.ZoneDesignResultColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
1487 def Get(self, item1 = None) -> ZoneDesignResult: 1488 if isinstance(item1, types.VariableParameter): 1489 return ZoneDesignResult(self._Entity.Get(_types.VariableParameter(item1.value))) 1490 1491 if isinstance(item1, int): 1492 return ZoneDesignResult(super().Get(item1)) 1493 1494 return ZoneDesignResult(self._Entity.Get(_types.VariableParameter(item1.value)))
Inherited Members
1506class ZoneBase(ZoneJointEntity): 1507 ''' 1508 Abstract for regular Zones and Panel Segments. 1509 ''' 1510 def __init__(self, zoneBase: _api.ZoneBase): 1511 self._Entity = zoneBase 1512 1513 @property 1514 def Centroid(self) -> Centroid: 1515 result = self._Entity.Centroid 1516 return Centroid(result) if result is not None else None 1517 1518 @property 1519 def Id(self) -> int: 1520 return self._Entity.Id 1521 1522 @property 1523 def Weight(self) -> float: 1524 return self._Entity.Weight 1525 1526 @property 1527 def NonOptimumFactor(self) -> float: 1528 return self._Entity.NonOptimumFactor 1529 1530 @property 1531 def AddedWeight(self) -> float: 1532 return self._Entity.AddedWeight 1533 1534 @property 1535 def SuperimposePanel(self) -> bool: 1536 return self._Entity.SuperimposePanel 1537 1538 @property 1539 def BucklingImperfection(self) -> float: 1540 return self._Entity.BucklingImperfection 1541 1542 @property 1543 def IsBeamColumn(self) -> bool: 1544 return self._Entity.IsBeamColumn 1545 1546 @property 1547 def SuperimposeBoundaryCondition(self) -> int: 1548 return self._Entity.SuperimposeBoundaryCondition 1549 1550 @property 1551 def IsZeroOutFeaMoments(self) -> bool: 1552 return self._Entity.IsZeroOutFeaMoments 1553 1554 @property 1555 def IsZeroOutFeaTransverseShears(self) -> bool: 1556 return self._Entity.IsZeroOutFeaTransverseShears 1557 1558 @property 1559 def MechanicalLimit(self) -> float: 1560 return self._Entity.MechanicalLimit 1561 1562 @property 1563 def MechanicalUltimate(self) -> float: 1564 return self._Entity.MechanicalUltimate 1565 1566 @property 1567 def ThermalHelp(self) -> float: 1568 return self._Entity.ThermalHelp 1569 1570 @property 1571 def ThermalHurt(self) -> float: 1572 return self._Entity.ThermalHurt 1573 1574 @property 1575 def FatigueKTSkin(self) -> float: 1576 return self._Entity.FatigueKTSkin 1577 1578 @property 1579 def FatigueKTStiff(self) -> float: 1580 return self._Entity.FatigueKTStiff 1581 1582 @property 1583 def XSpan(self) -> float: 1584 return self._Entity.XSpan 1585 1586 @property 1587 def EARequired(self) -> float: 1588 return self._Entity.EARequired 1589 1590 @property 1591 def EI1Required(self) -> float: 1592 return self._Entity.EI1Required 1593 1594 @property 1595 def EI2Required(self) -> float: 1596 return self._Entity.EI2Required 1597 1598 @property 1599 def GJRequired(self) -> float: 1600 return self._Entity.GJRequired 1601 1602 @property 1603 def EAAuto(self) -> float: 1604 return self._Entity.EAAuto 1605 1606 @property 1607 def EI1Auto(self) -> float: 1608 return self._Entity.EI1Auto 1609 1610 @property 1611 def EI2Auto(self) -> float: 1612 return self._Entity.EI2Auto 1613 1614 @property 1615 def GJAuto(self) -> float: 1616 return self._Entity.GJAuto 1617 1618 @property 1619 def Ex(self) -> float: 1620 return self._Entity.Ex 1621 1622 @property 1623 def Dmid(self) -> float: 1624 return self._Entity.Dmid 1625 1626 @NonOptimumFactor.setter 1627 def NonOptimumFactor(self, value: float) -> None: 1628 self._Entity.NonOptimumFactor = value 1629 1630 @AddedWeight.setter 1631 def AddedWeight(self, value: float) -> None: 1632 self._Entity.AddedWeight = value 1633 1634 @SuperimposePanel.setter 1635 def SuperimposePanel(self, value: bool) -> None: 1636 self._Entity.SuperimposePanel = value 1637 1638 @BucklingImperfection.setter 1639 def BucklingImperfection(self, value: float) -> None: 1640 self._Entity.BucklingImperfection = value 1641 1642 @IsBeamColumn.setter 1643 def IsBeamColumn(self, value: bool) -> None: 1644 self._Entity.IsBeamColumn = value 1645 1646 @SuperimposeBoundaryCondition.setter 1647 def SuperimposeBoundaryCondition(self, value: int) -> None: 1648 self._Entity.SuperimposeBoundaryCondition = value 1649 1650 @IsZeroOutFeaMoments.setter 1651 def IsZeroOutFeaMoments(self, value: bool) -> None: 1652 self._Entity.IsZeroOutFeaMoments = value 1653 1654 @IsZeroOutFeaTransverseShears.setter 1655 def IsZeroOutFeaTransverseShears(self, value: bool) -> None: 1656 self._Entity.IsZeroOutFeaTransverseShears = value 1657 1658 @MechanicalLimit.setter 1659 def MechanicalLimit(self, value: float) -> None: 1660 self._Entity.MechanicalLimit = value 1661 1662 @MechanicalUltimate.setter 1663 def MechanicalUltimate(self, value: float) -> None: 1664 self._Entity.MechanicalUltimate = value 1665 1666 @ThermalHelp.setter 1667 def ThermalHelp(self, value: float) -> None: 1668 self._Entity.ThermalHelp = value 1669 1670 @ThermalHurt.setter 1671 def ThermalHurt(self, value: float) -> None: 1672 self._Entity.ThermalHurt = value 1673 1674 @FatigueKTSkin.setter 1675 def FatigueKTSkin(self, value: float) -> None: 1676 self._Entity.FatigueKTSkin = value 1677 1678 @FatigueKTStiff.setter 1679 def FatigueKTStiff(self, value: float) -> None: 1680 self._Entity.FatigueKTStiff = value 1681 1682 @XSpan.setter 1683 def XSpan(self, value: float) -> None: 1684 self._Entity.XSpan = value 1685 1686 @EARequired.setter 1687 def EARequired(self, value: float) -> None: 1688 self._Entity.EARequired = value 1689 1690 @EI1Required.setter 1691 def EI1Required(self, value: float) -> None: 1692 self._Entity.EI1Required = value 1693 1694 @EI2Required.setter 1695 def EI2Required(self, value: float) -> None: 1696 self._Entity.EI2Required = value 1697 1698 @GJRequired.setter 1699 def GJRequired(self, value: float) -> None: 1700 self._Entity.GJRequired = value 1701 1702 @Ex.setter 1703 def Ex(self, value: float) -> None: 1704 self._Entity.Ex = value 1705 1706 @Dmid.setter 1707 def Dmid(self, value: float) -> None: 1708 self._Entity.Dmid = value 1709 1710 def GetObjectName(self, objectId: types.FamilyObjectUID) -> str: 1711 return self._Entity.GetObjectName(_types.FamilyObjectUID(objectId.value)) 1712 1713 def GetConceptName(self) -> str: 1714 return self._Entity.GetConceptName() 1715 1716 def GetZoneDesignResults(self, solutionId: int = 1) -> ZoneDesignResultCol: 1717 ''' 1718 Returns a collection of Zone Design Results for a Solution Id (default 1) 1719 ''' 1720 return ZoneDesignResultCol(self._Entity.GetZoneDesignResults(solutionId)) 1721 1722 def RenumberZone(self, newId: int) -> ZoneIdUpdateStatus: 1723 ''' 1724 Attempt to update a zone's ID. 1725 ''' 1726 return ZoneIdUpdateStatus[self._Entity.RenumberZone(newId).ToString()] 1727 1728 def GetAllResults(self) -> AnalysisResultCol: 1729 return AnalysisResultCol(self._Entity.GetAllResults()) 1730 1731 def GetControllingResult(self) -> AnalysisResult: 1732 result = self._Entity.GetControllingResult() 1733 thisClass = type(result).__name__ 1734 givenClass = AnalysisResult 1735 for subclass in AnalysisResult.__subclasses__(): 1736 if subclass.__name__ == thisClass: 1737 givenClass = subclass 1738 return givenClass(result) 1739 1740 def GetMinimumMargin(self) -> Margin: 1741 return Margin(self._Entity.GetMinimumMargin())
Abstract for regular Zones and Panel Segments.
1716 def GetZoneDesignResults(self, solutionId: int = 1) -> ZoneDesignResultCol: 1717 ''' 1718 Returns a collection of Zone Design Results for a Solution Id (default 1) 1719 ''' 1720 return ZoneDesignResultCol(self._Entity.GetZoneDesignResults(solutionId))
Returns a collection of Zone Design Results for a Solution Id (default 1)
1722 def RenumberZone(self, newId: int) -> ZoneIdUpdateStatus: 1723 ''' 1724 Attempt to update a zone's ID. 1725 ''' 1726 return ZoneIdUpdateStatus[self._Entity.RenumberZone(newId).ToString()]
Attempt to update a zone's ID.
1731 def GetControllingResult(self) -> AnalysisResult: 1732 result = self._Entity.GetControllingResult() 1733 thisClass = type(result).__name__ 1734 givenClass = AnalysisResult 1735 for subclass in AnalysisResult.__subclasses__(): 1736 if subclass.__name__ == thisClass: 1737 givenClass = subclass 1738 return givenClass(result)
1744class ElementCol(IdEntityCol[Element]): 1745 def __init__(self, elementCol: _api.ElementCol): 1746 self._Entity = elementCol 1747 self._CollectedClass = Element 1748 1749 @property 1750 def ElementColList(self) -> tuple[Element]: 1751 return tuple([Element(elementCol) for elementCol in self._Entity]) 1752 1753 def __getitem__(self, index: int): 1754 return self.ElementColList[index] 1755 1756 def __iter__(self): 1757 yield from self.ElementColList 1758 1759 def __len__(self): 1760 return len(self.ElementColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
Inherited Members
1763class PanelSegment(ZoneBase): 1764 def __init__(self, panelSegment: _api.PanelSegment): 1765 self._Entity = panelSegment 1766 1767 @property 1768 def ElementsByObjectOrSkin(self) -> dict[types.DiscreteDefinitionType, ElementCol]: 1769 elementsByObjectOrSkinDict = {} 1770 for kvp in self._Entity.ElementsByObjectOrSkin: 1771 elementsByObjectOrSkinDict[types.DiscreteDefinitionType[kvp.Key.ToString()]] = ElementCol(kvp.Value) 1772 1773 return elementsByObjectOrSkinDict 1774 1775 @property 1776 def Skins(self) -> tuple[types.DiscreteDefinitionType]: 1777 return tuple([types.DiscreteDefinitionType(discreteDefinitionType) for discreteDefinitionType in self._Entity.Skins]) 1778 1779 @property 1780 def Objects(self) -> tuple[types.DiscreteDefinitionType]: 1781 return tuple([types.DiscreteDefinitionType(discreteDefinitionType) for discreteDefinitionType in self._Entity.Objects]) 1782 1783 @property 1784 def DiscreteTechnique(self) -> types.DiscreteTechnique: 1785 return types.DiscreteTechnique[self._Entity.DiscreteTechnique.ToString()] 1786 1787 @property 1788 def LeftSkinZoneId(self) -> int: 1789 return self._Entity.LeftSkinZoneId 1790 1791 @property 1792 def RightSkinZoneId(self) -> int: 1793 return self._Entity.RightSkinZoneId 1794 1795 def GetElements(self, discreteDefinitionType: types.DiscreteDefinitionType) -> ElementCol: 1796 return ElementCol(self._Entity.GetElements(_types.DiscreteDefinitionType(discreteDefinitionType.value))) 1797 1798 def SetObjectElements(self, discreteDefinitionType: types.DiscreteDefinitionType, elementIds: tuple[int]) -> None: 1799 elementIdsList = MakeCSharpIntList(elementIds) 1800 elementIdsEnumerable = IEnumerable(elementIdsList) 1801 return self._Entity.SetObjectElements(_types.DiscreteDefinitionType(discreteDefinitionType.value), elementIdsEnumerable)
Abstract for regular Zones and Panel Segments.
1767 @property 1768 def ElementsByObjectOrSkin(self) -> dict[types.DiscreteDefinitionType, ElementCol]: 1769 elementsByObjectOrSkinDict = {} 1770 for kvp in self._Entity.ElementsByObjectOrSkin: 1771 elementsByObjectOrSkinDict[types.DiscreteDefinitionType[kvp.Key.ToString()]] = ElementCol(kvp.Value) 1772 1773 return elementsByObjectOrSkinDict
1798 def SetObjectElements(self, discreteDefinitionType: types.DiscreteDefinitionType, elementIds: tuple[int]) -> None: 1799 elementIdsList = MakeCSharpIntList(elementIds) 1800 elementIdsEnumerable = IEnumerable(elementIdsList) 1801 return self._Entity.SetObjectElements(_types.DiscreteDefinitionType(discreteDefinitionType.value), elementIdsEnumerable)
Inherited Members
- ZoneBase
- Centroid
- Id
- Weight
- NonOptimumFactor
- AddedWeight
- SuperimposePanel
- BucklingImperfection
- IsBeamColumn
- SuperimposeBoundaryCondition
- IsZeroOutFeaMoments
- IsZeroOutFeaTransverseShears
- MechanicalLimit
- MechanicalUltimate
- ThermalHelp
- ThermalHurt
- FatigueKTSkin
- FatigueKTStiff
- XSpan
- EARequired
- EI1Required
- EI2Required
- GJRequired
- EAAuto
- EI1Auto
- EI2Auto
- GJAuto
- Ex
- Dmid
- GetObjectName
- GetConceptName
- GetZoneDesignResults
- RenumberZone
- GetAllResults
- GetControllingResult
- GetMinimumMargin
1804class Zone(ZoneBase): 1805 ''' 1806 Abstract for regular Zones (not Panel Segments). 1807 ''' 1808 def __init__(self, zone: _api.Zone): 1809 self._Entity = zone 1810 1811 @property 1812 def Elements(self) -> ElementCol: 1813 result = self._Entity.Elements 1814 return ElementCol(result) if result is not None else None 1815 1816 def AddElements(self, elementIds: tuple[int]) -> None: 1817 elementIdsList = MakeCSharpIntList(elementIds) 1818 elementIdsEnumerable = IEnumerable(elementIdsList) 1819 return self._Entity.AddElements(elementIdsEnumerable)
Abstract for regular Zones (not Panel Segments).
Inherited Members
- ZoneBase
- Centroid
- Id
- Weight
- NonOptimumFactor
- AddedWeight
- SuperimposePanel
- BucklingImperfection
- IsBeamColumn
- SuperimposeBoundaryCondition
- IsZeroOutFeaMoments
- IsZeroOutFeaTransverseShears
- MechanicalLimit
- MechanicalUltimate
- ThermalHelp
- ThermalHurt
- FatigueKTSkin
- FatigueKTStiff
- XSpan
- EARequired
- EI1Required
- EI2Required
- GJRequired
- EAAuto
- EI1Auto
- EI2Auto
- GJAuto
- Ex
- Dmid
- GetObjectName
- GetConceptName
- GetZoneDesignResults
- RenumberZone
- GetAllResults
- GetControllingResult
- GetMinimumMargin
1822class EntityWithAssignablePropertiesCol(IdNameEntityCol, Generic[T]): 1823 def __init__(self, entityWithAssignablePropertiesCol: _api.EntityWithAssignablePropertiesCol): 1824 self._Entity = entityWithAssignablePropertiesCol 1825 self._CollectedClass = T 1826 1827 @property 1828 def EntityWithAssignablePropertiesColList(self) -> tuple[T]: 1829 if self._Entity.Count() <= 0: 1830 return () 1831 thisClass = type(self._Entity._items[0]).__name__ 1832 givenClass = T 1833 for subclass in T.__subclasses__(): 1834 if subclass.__name__ == thisClass: 1835 givenClass = subclass 1836 return tuple([givenClass(entityWithAssignablePropertiesCol) for entityWithAssignablePropertiesCol in self._Entity]) 1837 1838 def AssignPropertyToAll(self, property: AssignableProperty) -> PropertyAssignmentStatus: 1839 return PropertyAssignmentStatus[self._Entity.AssignPropertyToAll(property._Entity).ToString()] 1840 1841 @overload 1842 def Get(self, name: str) -> T: ... 1843 1844 @overload 1845 def Get(self, id: int) -> T: ... 1846 1847 def Get(self, item1 = None) -> T: 1848 if isinstance(item1, str): 1849 return super().Get(item1) 1850 1851 if isinstance(item1, int): 1852 return super().Get(item1) 1853 1854 return self._Entity.Get(item1) 1855 1856 def __getitem__(self, index: int): 1857 return self.EntityWithAssignablePropertiesColList[index] 1858 1859 def __iter__(self): 1860 yield from self.EntityWithAssignablePropertiesColList 1861 1862 def __len__(self): 1863 return len(self.EntityWithAssignablePropertiesColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
1827 @property 1828 def EntityWithAssignablePropertiesColList(self) -> tuple[T]: 1829 if self._Entity.Count() <= 0: 1830 return () 1831 thisClass = type(self._Entity._items[0]).__name__ 1832 givenClass = T 1833 for subclass in T.__subclasses__(): 1834 if subclass.__name__ == thisClass: 1835 givenClass = subclass 1836 return tuple([givenClass(entityWithAssignablePropertiesCol) for entityWithAssignablePropertiesCol in self._Entity])
Inherited Members
1866class JointCol(EntityWithAssignablePropertiesCol[Joint]): 1867 def __init__(self, jointCol: _api.JointCol): 1868 self._Entity = jointCol 1869 self._CollectedClass = Joint 1870 1871 @property 1872 def JointColList(self) -> tuple[Joint]: 1873 return tuple([Joint(jointCol) for jointCol in self._Entity]) 1874 1875 @overload 1876 def Get(self, name: str) -> Joint: ... 1877 1878 @overload 1879 def Get(self, id: int) -> Joint: ... 1880 1881 def Get(self, item1 = None) -> Joint: 1882 if isinstance(item1, str): 1883 return Joint(super().Get(item1)) 1884 1885 if isinstance(item1, int): 1886 return Joint(super().Get(item1)) 1887 1888 return Joint(self._Entity.Get(item1)) 1889 1890 def __getitem__(self, index: int): 1891 return self.JointColList[index] 1892 1893 def __iter__(self): 1894 yield from self.JointColList 1895 1896 def __len__(self): 1897 return len(self.JointColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
1900class PanelSegmentCol(EntityWithAssignablePropertiesCol[PanelSegment]): 1901 def __init__(self, panelSegmentCol: _api.PanelSegmentCol): 1902 self._Entity = panelSegmentCol 1903 self._CollectedClass = PanelSegment 1904 1905 @property 1906 def PanelSegmentColList(self) -> tuple[PanelSegment]: 1907 return tuple([PanelSegment(panelSegmentCol) for panelSegmentCol in self._Entity]) 1908 1909 @overload 1910 def Get(self, name: str) -> PanelSegment: ... 1911 1912 @overload 1913 def Get(self, id: int) -> PanelSegment: ... 1914 1915 def Get(self, item1 = None) -> PanelSegment: 1916 if isinstance(item1, str): 1917 return PanelSegment(super().Get(item1)) 1918 1919 if isinstance(item1, int): 1920 return PanelSegment(super().Get(item1)) 1921 1922 return PanelSegment(self._Entity.Get(item1)) 1923 1924 def __getitem__(self, index: int): 1925 return self.PanelSegmentColList[index] 1926 1927 def __iter__(self): 1928 yield from self.PanelSegmentColList 1929 1930 def __len__(self): 1931 return len(self.PanelSegmentColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
1934class ZoneCol(EntityWithAssignablePropertiesCol[Zone]): 1935 def __init__(self, zoneCol: _api.ZoneCol): 1936 self._Entity = zoneCol 1937 self._CollectedClass = Zone 1938 1939 @property 1940 def ZoneColList(self) -> tuple[Zone]: 1941 return tuple([Zone(zoneCol) for zoneCol in self._Entity]) 1942 1943 @overload 1944 def Get(self, name: str) -> Zone: ... 1945 1946 @overload 1947 def Get(self, id: int) -> Zone: ... 1948 1949 def Get(self, item1 = None) -> Zone: 1950 if isinstance(item1, str): 1951 return Zone(super().Get(item1)) 1952 1953 if isinstance(item1, int): 1954 return Zone(super().Get(item1)) 1955 1956 result = self._Entity.Get(item1) 1957 thisClass = type(result).__name__ 1958 givenClass = Zone 1959 for subclass in Zone.__subclasses__(): 1960 if subclass.__name__ == thisClass: 1961 givenClass = subclass 1962 return givenClass(result) 1963 1964 def __getitem__(self, index: int): 1965 return self.ZoneColList[index] 1966 1967 def __iter__(self): 1968 yield from self.ZoneColList 1969 1970 def __len__(self): 1971 return len(self.ZoneColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
1949 def Get(self, item1 = None) -> Zone: 1950 if isinstance(item1, str): 1951 return Zone(super().Get(item1)) 1952 1953 if isinstance(item1, int): 1954 return Zone(super().Get(item1)) 1955 1956 result = self._Entity.Get(item1) 1957 thisClass = type(result).__name__ 1958 givenClass = Zone 1959 for subclass in Zone.__subclasses__(): 1960 if subclass.__name__ == thisClass: 1961 givenClass = subclass 1962 return givenClass(result)
1974class ZoneJointContainer(IdNameEntityRenameable): 1975 ''' 1976 Represents an entity that contains a collection of Zones and Joints. 1977 ''' 1978 def __init__(self, zoneJointContainer: _api.ZoneJointContainer): 1979 self._Entity = zoneJointContainer 1980 1981 @property 1982 def Centroid(self) -> Centroid: 1983 result = self._Entity.Centroid 1984 return Centroid(result) if result is not None else None 1985 1986 @property 1987 def Joints(self) -> JointCol: 1988 result = self._Entity.Joints 1989 return JointCol(result) if result is not None else None 1990 1991 @property 1992 def PanelSegments(self) -> PanelSegmentCol: 1993 result = self._Entity.PanelSegments 1994 return PanelSegmentCol(result) if result is not None else None 1995 1996 @property 1997 def TotalBeamLength(self) -> float: 1998 return self._Entity.TotalBeamLength 1999 2000 @property 2001 def TotalPanelArea(self) -> float: 2002 return self._Entity.TotalPanelArea 2003 2004 @property 2005 def TotalZoneWeight(self) -> float: 2006 return self._Entity.TotalZoneWeight 2007 2008 @property 2009 def Zones(self) -> ZoneCol: 2010 result = self._Entity.Zones 2011 return ZoneCol(result) if result is not None else None 2012 2013 @overload 2014 def AddJoint(self, id: int) -> CollectionModificationStatus: ... 2015 2016 @overload 2017 @abstractmethod 2018 def AddJoint(self, joint: Joint) -> CollectionModificationStatus: ... 2019 2020 @overload 2021 def RemoveJoint(self, id: int) -> CollectionModificationStatus: ... 2022 2023 @overload 2024 def RemoveJoint(self, joint: Joint) -> CollectionModificationStatus: ... 2025 2026 @overload 2027 @abstractmethod 2028 def RemoveJoints(self, jointIds: tuple[int]) -> CollectionModificationStatus: ... 2029 2030 @overload 2031 def RemoveJoints(self, joints: JointCol) -> CollectionModificationStatus: ... 2032 2033 @overload 2034 def AddZone(self, id: int) -> CollectionModificationStatus: ... 2035 2036 @overload 2037 def AddZones(self, ids: tuple[int]) -> CollectionModificationStatus: ... 2038 2039 @overload 2040 def AddZone(self, zone: Zone) -> CollectionModificationStatus: ... 2041 2042 @overload 2043 @abstractmethod 2044 def AddZones(self, zones: tuple[Zone]) -> CollectionModificationStatus: ... 2045 2046 @overload 2047 def RemoveZone(self, id: int) -> CollectionModificationStatus: ... 2048 2049 @overload 2050 def RemoveZone(self, zone: Zone) -> CollectionModificationStatus: ... 2051 2052 @overload 2053 @abstractmethod 2054 def RemoveZones(self, zoneIds: tuple[int]) -> CollectionModificationStatus: ... 2055 2056 @overload 2057 def RemoveZones(self, zones: ZoneCol) -> CollectionModificationStatus: ... 2058 2059 @overload 2060 def AddPanelSegment(self, id: int) -> CollectionModificationStatus: ... 2061 2062 @overload 2063 @abstractmethod 2064 def AddPanelSegment(self, segment: PanelSegment) -> CollectionModificationStatus: ... 2065 2066 @overload 2067 def RemovePanelSegment(self, id: int) -> CollectionModificationStatus: ... 2068 2069 @overload 2070 def RemovePanelSegment(self, segment: PanelSegment) -> CollectionModificationStatus: ... 2071 2072 @overload 2073 @abstractmethod 2074 def RemovePanelSegments(self, segmentIds: tuple[int]) -> CollectionModificationStatus: ... 2075 2076 @overload 2077 def RemovePanelSegments(self, segments: PanelSegmentCol) -> CollectionModificationStatus: ... 2078 2079 def AddJoint(self, item1 = None) -> CollectionModificationStatus: 2080 if isinstance(item1, int): 2081 return CollectionModificationStatus[self._Entity.AddJoint(item1).ToString()] 2082 2083 if isinstance(item1, Joint): 2084 return CollectionModificationStatus[self._Entity.AddJoint(item1._Entity).ToString()] 2085 2086 return CollectionModificationStatus[self._Entity.AddJoint(item1).ToString()] 2087 2088 def RemoveJoint(self, item1 = None) -> CollectionModificationStatus: 2089 if isinstance(item1, int): 2090 return CollectionModificationStatus[self._Entity.RemoveJoint(item1).ToString()] 2091 2092 if isinstance(item1, Joint): 2093 return CollectionModificationStatus[self._Entity.RemoveJoint(item1._Entity).ToString()] 2094 2095 return CollectionModificationStatus[self._Entity.RemoveJoint(item1).ToString()] 2096 2097 def RemoveJoints(self, item1 = None) -> CollectionModificationStatus: 2098 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int): 2099 jointIdsList = MakeCSharpIntList(item1) 2100 jointIdsEnumerable = IEnumerable(jointIdsList) 2101 return CollectionModificationStatus[self._Entity.RemoveJoints(jointIdsEnumerable).ToString()] 2102 2103 if isinstance(item1, JointCol): 2104 return CollectionModificationStatus[self._Entity.RemoveJoints(item1._Entity).ToString()] 2105 2106 return CollectionModificationStatus[self._Entity.RemoveJoints(item1).ToString()] 2107 2108 def AddZone(self, item1 = None) -> CollectionModificationStatus: 2109 if isinstance(item1, int): 2110 return CollectionModificationStatus[self._Entity.AddZone(item1).ToString()] 2111 2112 if isinstance(item1, Zone): 2113 return CollectionModificationStatus[self._Entity.AddZone(item1._Entity).ToString()] 2114 2115 return CollectionModificationStatus[self._Entity.AddZone(item1).ToString()] 2116 2117 def AddZones(self, item1 = None) -> CollectionModificationStatus: 2118 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int): 2119 idsList = MakeCSharpIntList(item1) 2120 idsEnumerable = IEnumerable(idsList) 2121 return CollectionModificationStatus[self._Entity.AddZones(idsEnumerable).ToString()] 2122 2123 if isinstance(item1, tuple) and item1 and isinstance(item1[0], Zone): 2124 zonesList = List[_api.Zone]() 2125 if item1 is not None: 2126 for thing in item1: 2127 if thing is not None: 2128 zonesList.Add(thing._Entity) 2129 zonesEnumerable = IEnumerable(zonesList) 2130 return CollectionModificationStatus[self._Entity.AddZones(zonesEnumerable).ToString()] 2131 2132 return CollectionModificationStatus[self._Entity.AddZones(item1).ToString()] 2133 2134 def RemoveZone(self, item1 = None) -> CollectionModificationStatus: 2135 if isinstance(item1, int): 2136 return CollectionModificationStatus[self._Entity.RemoveZone(item1).ToString()] 2137 2138 if isinstance(item1, Zone): 2139 return CollectionModificationStatus[self._Entity.RemoveZone(item1._Entity).ToString()] 2140 2141 return CollectionModificationStatus[self._Entity.RemoveZone(item1).ToString()] 2142 2143 def RemoveZones(self, item1 = None) -> CollectionModificationStatus: 2144 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int): 2145 zoneIdsList = MakeCSharpIntList(item1) 2146 zoneIdsEnumerable = IEnumerable(zoneIdsList) 2147 return CollectionModificationStatus[self._Entity.RemoveZones(zoneIdsEnumerable).ToString()] 2148 2149 if isinstance(item1, ZoneCol): 2150 return CollectionModificationStatus[self._Entity.RemoveZones(item1._Entity).ToString()] 2151 2152 return CollectionModificationStatus[self._Entity.RemoveZones(item1).ToString()] 2153 2154 def AddPanelSegment(self, item1 = None) -> CollectionModificationStatus: 2155 if isinstance(item1, int): 2156 return CollectionModificationStatus[self._Entity.AddPanelSegment(item1).ToString()] 2157 2158 if isinstance(item1, PanelSegment): 2159 return CollectionModificationStatus[self._Entity.AddPanelSegment(item1._Entity).ToString()] 2160 2161 return CollectionModificationStatus[self._Entity.AddPanelSegment(item1).ToString()] 2162 2163 def RemovePanelSegment(self, item1 = None) -> CollectionModificationStatus: 2164 if isinstance(item1, int): 2165 return CollectionModificationStatus[self._Entity.RemovePanelSegment(item1).ToString()] 2166 2167 if isinstance(item1, PanelSegment): 2168 return CollectionModificationStatus[self._Entity.RemovePanelSegment(item1._Entity).ToString()] 2169 2170 return CollectionModificationStatus[self._Entity.RemovePanelSegment(item1).ToString()] 2171 2172 def RemovePanelSegments(self, item1 = None) -> CollectionModificationStatus: 2173 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int): 2174 segmentIdsList = MakeCSharpIntList(item1) 2175 segmentIdsEnumerable = IEnumerable(segmentIdsList) 2176 return CollectionModificationStatus[self._Entity.RemovePanelSegments(segmentIdsEnumerable).ToString()] 2177 2178 if isinstance(item1, PanelSegmentCol): 2179 return CollectionModificationStatus[self._Entity.RemovePanelSegments(item1._Entity).ToString()] 2180 2181 return CollectionModificationStatus[self._Entity.RemovePanelSegments(item1).ToString()]
Represents an entity that contains a collection of Zones and Joints.
2079 def AddJoint(self, item1 = None) -> CollectionModificationStatus: 2080 if isinstance(item1, int): 2081 return CollectionModificationStatus[self._Entity.AddJoint(item1).ToString()] 2082 2083 if isinstance(item1, Joint): 2084 return CollectionModificationStatus[self._Entity.AddJoint(item1._Entity).ToString()] 2085 2086 return CollectionModificationStatus[self._Entity.AddJoint(item1).ToString()]
2088 def RemoveJoint(self, item1 = None) -> CollectionModificationStatus: 2089 if isinstance(item1, int): 2090 return CollectionModificationStatus[self._Entity.RemoveJoint(item1).ToString()] 2091 2092 if isinstance(item1, Joint): 2093 return CollectionModificationStatus[self._Entity.RemoveJoint(item1._Entity).ToString()] 2094 2095 return CollectionModificationStatus[self._Entity.RemoveJoint(item1).ToString()]
2097 def RemoveJoints(self, item1 = None) -> CollectionModificationStatus: 2098 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int): 2099 jointIdsList = MakeCSharpIntList(item1) 2100 jointIdsEnumerable = IEnumerable(jointIdsList) 2101 return CollectionModificationStatus[self._Entity.RemoveJoints(jointIdsEnumerable).ToString()] 2102 2103 if isinstance(item1, JointCol): 2104 return CollectionModificationStatus[self._Entity.RemoveJoints(item1._Entity).ToString()] 2105 2106 return CollectionModificationStatus[self._Entity.RemoveJoints(item1).ToString()]
2108 def AddZone(self, item1 = None) -> CollectionModificationStatus: 2109 if isinstance(item1, int): 2110 return CollectionModificationStatus[self._Entity.AddZone(item1).ToString()] 2111 2112 if isinstance(item1, Zone): 2113 return CollectionModificationStatus[self._Entity.AddZone(item1._Entity).ToString()] 2114 2115 return CollectionModificationStatus[self._Entity.AddZone(item1).ToString()]
2117 def AddZones(self, item1 = None) -> CollectionModificationStatus: 2118 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int): 2119 idsList = MakeCSharpIntList(item1) 2120 idsEnumerable = IEnumerable(idsList) 2121 return CollectionModificationStatus[self._Entity.AddZones(idsEnumerable).ToString()] 2122 2123 if isinstance(item1, tuple) and item1 and isinstance(item1[0], Zone): 2124 zonesList = List[_api.Zone]() 2125 if item1 is not None: 2126 for thing in item1: 2127 if thing is not None: 2128 zonesList.Add(thing._Entity) 2129 zonesEnumerable = IEnumerable(zonesList) 2130 return CollectionModificationStatus[self._Entity.AddZones(zonesEnumerable).ToString()] 2131 2132 return CollectionModificationStatus[self._Entity.AddZones(item1).ToString()]
2134 def RemoveZone(self, item1 = None) -> CollectionModificationStatus: 2135 if isinstance(item1, int): 2136 return CollectionModificationStatus[self._Entity.RemoveZone(item1).ToString()] 2137 2138 if isinstance(item1, Zone): 2139 return CollectionModificationStatus[self._Entity.RemoveZone(item1._Entity).ToString()] 2140 2141 return CollectionModificationStatus[self._Entity.RemoveZone(item1).ToString()]
2143 def RemoveZones(self, item1 = None) -> CollectionModificationStatus: 2144 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int): 2145 zoneIdsList = MakeCSharpIntList(item1) 2146 zoneIdsEnumerable = IEnumerable(zoneIdsList) 2147 return CollectionModificationStatus[self._Entity.RemoveZones(zoneIdsEnumerable).ToString()] 2148 2149 if isinstance(item1, ZoneCol): 2150 return CollectionModificationStatus[self._Entity.RemoveZones(item1._Entity).ToString()] 2151 2152 return CollectionModificationStatus[self._Entity.RemoveZones(item1).ToString()]
2154 def AddPanelSegment(self, item1 = None) -> CollectionModificationStatus: 2155 if isinstance(item1, int): 2156 return CollectionModificationStatus[self._Entity.AddPanelSegment(item1).ToString()] 2157 2158 if isinstance(item1, PanelSegment): 2159 return CollectionModificationStatus[self._Entity.AddPanelSegment(item1._Entity).ToString()] 2160 2161 return CollectionModificationStatus[self._Entity.AddPanelSegment(item1).ToString()]
2163 def RemovePanelSegment(self, item1 = None) -> CollectionModificationStatus: 2164 if isinstance(item1, int): 2165 return CollectionModificationStatus[self._Entity.RemovePanelSegment(item1).ToString()] 2166 2167 if isinstance(item1, PanelSegment): 2168 return CollectionModificationStatus[self._Entity.RemovePanelSegment(item1._Entity).ToString()] 2169 2170 return CollectionModificationStatus[self._Entity.RemovePanelSegment(item1).ToString()]
2172 def RemovePanelSegments(self, item1 = None) -> CollectionModificationStatus: 2173 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int): 2174 segmentIdsList = MakeCSharpIntList(item1) 2175 segmentIdsEnumerable = IEnumerable(segmentIdsList) 2176 return CollectionModificationStatus[self._Entity.RemovePanelSegments(segmentIdsEnumerable).ToString()] 2177 2178 if isinstance(item1, PanelSegmentCol): 2179 return CollectionModificationStatus[self._Entity.RemovePanelSegments(item1._Entity).ToString()] 2180 2181 return CollectionModificationStatus[self._Entity.RemovePanelSegments(item1).ToString()]
Inherited Members
2184class AutomatedConstraint(IdNameEntityRenameable): 2185 def __init__(self, automatedConstraint: _api.AutomatedConstraint): 2186 self._Entity = automatedConstraint 2187 2188 @property 2189 def ConstraintType(self) -> types.StiffnessCriteriaType: 2190 return types.StiffnessCriteriaType[self._Entity.ConstraintType.ToString()] 2191 2192 @property 2193 def Set(self) -> str: 2194 return self._Entity.Set 2195 2196 @property 2197 def DesignLoadCases(self) -> list[str]: 2198 return [string for string in self._Entity.DesignLoadCases] 2199 2200 @Set.setter 2201 def Set(self, value: str) -> None: 2202 self._Entity.Set = value 2203 2204 def AddDesignLoadCases(self, designLoadCases: list[str]) -> None: 2205 designLoadCasesList = List[str]() 2206 if designLoadCases is not None: 2207 for thing in designLoadCases: 2208 if thing is not None: 2209 designLoadCasesList.Add(thing) 2210 return self._Entity.AddDesignLoadCases(designLoadCasesList) 2211 2212 def RemoveDesignLoadCases(self, designLoadCases: list[str]) -> None: 2213 designLoadCasesList = List[str]() 2214 if designLoadCases is not None: 2215 for thing in designLoadCases: 2216 if thing is not None: 2217 designLoadCasesList.Add(thing) 2218 return self._Entity.RemoveDesignLoadCases(designLoadCasesList)
Represents an entity with an ID and Name.
2204 def AddDesignLoadCases(self, designLoadCases: list[str]) -> None: 2205 designLoadCasesList = List[str]() 2206 if designLoadCases is not None: 2207 for thing in designLoadCases: 2208 if thing is not None: 2209 designLoadCasesList.Add(thing) 2210 return self._Entity.AddDesignLoadCases(designLoadCasesList)
2212 def RemoveDesignLoadCases(self, designLoadCases: list[str]) -> None: 2213 designLoadCasesList = List[str]() 2214 if designLoadCases is not None: 2215 for thing in designLoadCases: 2216 if thing is not None: 2217 designLoadCasesList.Add(thing) 2218 return self._Entity.RemoveDesignLoadCases(designLoadCasesList)
Inherited Members
2221class ModalAutomatedConstraint(AutomatedConstraint): 2222 def __init__(self, modalAutomatedConstraint: _api.ModalAutomatedConstraint): 2223 self._Entity = modalAutomatedConstraint 2224 2225 @property 2226 def Eigenvalue(self) -> float: 2227 return self._Entity.Eigenvalue 2228 2229 @Eigenvalue.setter 2230 def Eigenvalue(self, value: float) -> None: 2231 self._Entity.Eigenvalue = value
Represents an entity with an ID and Name.
2234class BucklingAutomatedConstraint(ModalAutomatedConstraint): 2235 def __init__(self, bucklingAutomatedConstraint: _api.BucklingAutomatedConstraint): 2236 self._Entity = bucklingAutomatedConstraint
Represents an entity with an ID and Name.
2239class StaticAutomatedConstraint(AutomatedConstraint): 2240 def __init__(self, staticAutomatedConstraint: _api.StaticAutomatedConstraint): 2241 self._Entity = staticAutomatedConstraint 2242 2243 @property 2244 def VirtualDesignLoad(self) -> str: 2245 return self._Entity.VirtualDesignLoad 2246 2247 @property 2248 def GridId(self) -> int: 2249 return self._Entity.GridId 2250 2251 @property 2252 def Orientation(self) -> types.DisplacementShapeType: 2253 return types.DisplacementShapeType[self._Entity.Orientation.ToString()] 2254 2255 @property 2256 def HasVector(self) -> bool: 2257 return self._Entity.HasVector 2258 2259 @property 2260 def X(self) -> float: 2261 return self._Entity.X 2262 2263 @property 2264 def Y(self) -> float: 2265 return self._Entity.Y 2266 2267 @property 2268 def Z(self) -> float: 2269 return self._Entity.Z 2270 2271 @VirtualDesignLoad.setter 2272 def VirtualDesignLoad(self, value: str) -> None: 2273 self._Entity.VirtualDesignLoad = value 2274 2275 @GridId.setter 2276 def GridId(self, value: int) -> None: 2277 self._Entity.GridId = value 2278 2279 @Orientation.setter 2280 def Orientation(self, value: types.DisplacementShapeType) -> None: 2281 self._Entity.Orientation = _types.DisplacementShapeType(value.value) 2282 2283 @X.setter 2284 def X(self, value: float) -> None: 2285 self._Entity.X = value 2286 2287 @Y.setter 2288 def Y(self, value: float) -> None: 2289 self._Entity.Y = value 2290 2291 @Z.setter 2292 def Z(self, value: float) -> None: 2293 self._Entity.Z = value
Represents an entity with an ID and Name.
2296class DisplacementAutomatedConstraint(StaticAutomatedConstraint): 2297 def __init__(self, displacementAutomatedConstraint: _api.DisplacementAutomatedConstraint): 2298 self._Entity = displacementAutomatedConstraint 2299 2300 @property 2301 def Limit(self) -> float: 2302 return self._Entity.Limit 2303 2304 @Limit.setter 2305 def Limit(self, value: float) -> None: 2306 self._Entity.Limit = value
Represents an entity with an ID and Name.
2309class FrequencyAutomatedConstraint(ModalAutomatedConstraint): 2310 def __init__(self, frequencyAutomatedConstraint: _api.FrequencyAutomatedConstraint): 2311 self._Entity = frequencyAutomatedConstraint
Represents an entity with an ID and Name.
2314class RotationAutomatedConstraint(StaticAutomatedConstraint): 2315 def __init__(self, rotationAutomatedConstraint: _api.RotationAutomatedConstraint): 2316 self._Entity = rotationAutomatedConstraint 2317 2318 @property 2319 def Limit(self) -> float: 2320 return self._Entity.Limit 2321 2322 @Limit.setter 2323 def Limit(self, value: float) -> None: 2324 self._Entity.Limit = value
Represents an entity with an ID and Name.
2327class ManualConstraint(IdNameEntityRenameable): 2328 def __init__(self, manualConstraint: _api.ManualConstraint): 2329 self._Entity = manualConstraint 2330 2331 @property 2332 def ConstraintType(self) -> types.ConstraintType: 2333 return types.ConstraintType[self._Entity.ConstraintType.ToString()] 2334 2335 @property 2336 def Set(self) -> str: 2337 return self._Entity.Set 2338 2339 @property 2340 def Limit(self) -> float: 2341 return self._Entity.Limit 2342 2343 @property 2344 def A11(self) -> bool: 2345 return self._Entity.A11 2346 2347 @property 2348 def A22(self) -> bool: 2349 return self._Entity.A22 2350 2351 @property 2352 def A33(self) -> bool: 2353 return self._Entity.A33 2354 2355 @property 2356 def D11(self) -> bool: 2357 return self._Entity.D11 2358 2359 @property 2360 def D22(self) -> bool: 2361 return self._Entity.D22 2362 2363 @property 2364 def D33(self) -> bool: 2365 return self._Entity.D33 2366 2367 @property 2368 def EA(self) -> bool: 2369 return self._Entity.EA 2370 2371 @property 2372 def EI1(self) -> bool: 2373 return self._Entity.EI1 2374 2375 @property 2376 def EI2(self) -> bool: 2377 return self._Entity.EI2 2378 2379 @property 2380 def GJ(self) -> bool: 2381 return self._Entity.GJ 2382 2383 @property 2384 def IsActive(self) -> bool: 2385 return self._Entity.IsActive 2386 2387 @Set.setter 2388 def Set(self, value: str) -> None: 2389 self._Entity.Set = value 2390 2391 @Limit.setter 2392 def Limit(self, value: float) -> None: 2393 self._Entity.Limit = value 2394 2395 @A11.setter 2396 def A11(self, value: bool) -> None: 2397 self._Entity.A11 = value 2398 2399 @A22.setter 2400 def A22(self, value: bool) -> None: 2401 self._Entity.A22 = value 2402 2403 @A33.setter 2404 def A33(self, value: bool) -> None: 2405 self._Entity.A33 = value 2406 2407 @D11.setter 2408 def D11(self, value: bool) -> None: 2409 self._Entity.D11 = value 2410 2411 @D22.setter 2412 def D22(self, value: bool) -> None: 2413 self._Entity.D22 = value 2414 2415 @D33.setter 2416 def D33(self, value: bool) -> None: 2417 self._Entity.D33 = value 2418 2419 @EA.setter 2420 def EA(self, value: bool) -> None: 2421 self._Entity.EA = value 2422 2423 @EI1.setter 2424 def EI1(self, value: bool) -> None: 2425 self._Entity.EI1 = value 2426 2427 @EI2.setter 2428 def EI2(self, value: bool) -> None: 2429 self._Entity.EI2 = value 2430 2431 @GJ.setter 2432 def GJ(self, value: bool) -> None: 2433 self._Entity.GJ = value 2434 2435 @IsActive.setter 2436 def IsActive(self, value: bool) -> None: 2437 self._Entity.IsActive = value
Represents an entity with an ID and Name.
Inherited Members
2440class ManualConstraintWithDesignLoad(ManualConstraint): 2441 def __init__(self, manualConstraintWithDesignLoad: _api.ManualConstraintWithDesignLoad): 2442 self._Entity = manualConstraintWithDesignLoad 2443 2444 @property 2445 def UseAllDesignLoads(self) -> bool: 2446 return self._Entity.UseAllDesignLoads 2447 2448 @property 2449 def DesignLoadCase(self) -> str: 2450 return self._Entity.DesignLoadCase 2451 2452 @UseAllDesignLoads.setter 2453 def UseAllDesignLoads(self, value: bool) -> None: 2454 self._Entity.UseAllDesignLoads = value 2455 2456 @DesignLoadCase.setter 2457 def DesignLoadCase(self, value: str) -> None: 2458 self._Entity.DesignLoadCase = value
Represents an entity with an ID and Name.
2461class BucklingManualConstraint(ManualConstraintWithDesignLoad): 2462 def __init__(self, bucklingManualConstraint: _api.BucklingManualConstraint): 2463 self._Entity = bucklingManualConstraint
Represents an entity with an ID and Name.
2466class DisplacementManualConstraint(ManualConstraintWithDesignLoad): 2467 def __init__(self, displacementManualConstraint: _api.DisplacementManualConstraint): 2468 self._Entity = displacementManualConstraint 2469 2470 @property 2471 def DOF(self) -> types.DegreeOfFreedom: 2472 return types.DegreeOfFreedom[self._Entity.DOF.ToString()] 2473 2474 @property 2475 def Nodes(self) -> list[int]: 2476 return [int32 for int32 in self._Entity.Nodes] 2477 2478 @property 2479 def RefNodes(self) -> list[int]: 2480 return [int32 for int32 in self._Entity.RefNodes] 2481 2482 @DOF.setter 2483 def DOF(self, value: types.DegreeOfFreedom) -> None: 2484 self._Entity.DOF = _types.DegreeOfFreedom(value.value) 2485 2486 def AddNodes(self, ids: list[int]) -> None: 2487 idsList = MakeCSharpIntList(ids) 2488 return self._Entity.AddNodes(idsList) 2489 2490 def RemoveNodes(self, ids: list[int]) -> None: 2491 idsList = MakeCSharpIntList(ids) 2492 return self._Entity.RemoveNodes(idsList) 2493 2494 def AddRefNodes(self, ids: list[int]) -> None: 2495 idsList = MakeCSharpIntList(ids) 2496 return self._Entity.AddRefNodes(idsList) 2497 2498 def RemoveRefNodes(self, ids: list[int]) -> None: 2499 idsList = MakeCSharpIntList(ids) 2500 return self._Entity.RemoveRefNodes(idsList)
Represents an entity with an ID and Name.
2503class FrequencyManualConstraint(ManualConstraintWithDesignLoad): 2504 def __init__(self, frequencyManualConstraint: _api.FrequencyManualConstraint): 2505 self._Entity = frequencyManualConstraint
Represents an entity with an ID and Name.
2508class StaticMomentManualConstraint(ManualConstraint): 2509 def __init__(self, staticMomentManualConstraint: _api.StaticMomentManualConstraint): 2510 self._Entity = staticMomentManualConstraint
Represents an entity with an ID and Name.
2513class AutomatedConstraintCol(IdNameEntityCol[AutomatedConstraint]): 2514 def __init__(self, automatedConstraintCol: _api.AutomatedConstraintCol): 2515 self._Entity = automatedConstraintCol 2516 self._CollectedClass = AutomatedConstraint 2517 2518 @property 2519 def AutomatedConstraintColList(self) -> tuple[AutomatedConstraint]: 2520 return tuple([AutomatedConstraint(automatedConstraintCol) for automatedConstraintCol in self._Entity]) 2521 2522 def AddBucklingConstraint(self, designLoads: list[str], eigenvalue: float, name: str = None) -> BucklingAutomatedConstraint: 2523 designLoadsList = List[str]() 2524 if designLoads is not None: 2525 for thing in designLoads: 2526 if thing is not None: 2527 designLoadsList.Add(thing) 2528 return BucklingAutomatedConstraint(self._Entity.AddBucklingConstraint(designLoadsList, eigenvalue, name)) 2529 2530 def AddFrequencyConstraint(self, designLoads: list[str], eigenvalue: float, name: str = None) -> FrequencyAutomatedConstraint: 2531 designLoadsList = List[str]() 2532 if designLoads is not None: 2533 for thing in designLoads: 2534 if thing is not None: 2535 designLoadsList.Add(thing) 2536 return FrequencyAutomatedConstraint(self._Entity.AddFrequencyConstraint(designLoadsList, eigenvalue, name)) 2537 2538 def AddDisplacementConstraint(self, designLoads: list[str], gridId: int, limit: float, name: str = None) -> DisplacementAutomatedConstraint: 2539 designLoadsList = List[str]() 2540 if designLoads is not None: 2541 for thing in designLoads: 2542 if thing is not None: 2543 designLoadsList.Add(thing) 2544 return DisplacementAutomatedConstraint(self._Entity.AddDisplacementConstraint(designLoadsList, gridId, limit, name)) 2545 2546 def AddRotationConstraint(self, designLoads: list[str], gridId: int, limit: float, name: str = None) -> RotationAutomatedConstraint: 2547 designLoadsList = List[str]() 2548 if designLoads is not None: 2549 for thing in designLoads: 2550 if thing is not None: 2551 designLoadsList.Add(thing) 2552 return RotationAutomatedConstraint(self._Entity.AddRotationConstraint(designLoadsList, gridId, limit, name)) 2553 2554 @overload 2555 def Delete(self, id: int) -> bool: ... 2556 2557 @overload 2558 def Delete(self, name: str) -> bool: ... 2559 2560 @overload 2561 def GetBuckling(self, id: int) -> BucklingAutomatedConstraint: ... 2562 2563 @overload 2564 def GetBuckling(self, name: str) -> BucklingAutomatedConstraint: ... 2565 2566 @overload 2567 def GetFrequency(self, id: int) -> FrequencyAutomatedConstraint: ... 2568 2569 @overload 2570 def GetFrequency(self, name: str) -> FrequencyAutomatedConstraint: ... 2571 2572 @overload 2573 def GetRotation(self, id: int) -> RotationAutomatedConstraint: ... 2574 2575 @overload 2576 def GetRotation(self, name: str) -> RotationAutomatedConstraint: ... 2577 2578 @overload 2579 def GetDisplacement(self, id: int) -> DisplacementAutomatedConstraint: ... 2580 2581 @overload 2582 def GetDisplacement(self, name: str) -> DisplacementAutomatedConstraint: ... 2583 2584 @overload 2585 def Get(self, name: str) -> AutomatedConstraint: ... 2586 2587 @overload 2588 def Get(self, id: int) -> AutomatedConstraint: ... 2589 2590 def Delete(self, item1 = None) -> bool: 2591 if isinstance(item1, int): 2592 return self._Entity.Delete(item1) 2593 2594 if isinstance(item1, str): 2595 return self._Entity.Delete(item1) 2596 2597 return self._Entity.Delete(item1) 2598 2599 def GetBuckling(self, item1 = None) -> BucklingAutomatedConstraint: 2600 if isinstance(item1, int): 2601 return BucklingAutomatedConstraint(self._Entity.GetBuckling(item1)) 2602 2603 if isinstance(item1, str): 2604 return BucklingAutomatedConstraint(self._Entity.GetBuckling(item1)) 2605 2606 return BucklingAutomatedConstraint(self._Entity.GetBuckling(item1)) 2607 2608 def GetFrequency(self, item1 = None) -> FrequencyAutomatedConstraint: 2609 if isinstance(item1, int): 2610 return FrequencyAutomatedConstraint(self._Entity.GetFrequency(item1)) 2611 2612 if isinstance(item1, str): 2613 return FrequencyAutomatedConstraint(self._Entity.GetFrequency(item1)) 2614 2615 return FrequencyAutomatedConstraint(self._Entity.GetFrequency(item1)) 2616 2617 def GetRotation(self, item1 = None) -> RotationAutomatedConstraint: 2618 if isinstance(item1, int): 2619 return RotationAutomatedConstraint(self._Entity.GetRotation(item1)) 2620 2621 if isinstance(item1, str): 2622 return RotationAutomatedConstraint(self._Entity.GetRotation(item1)) 2623 2624 return RotationAutomatedConstraint(self._Entity.GetRotation(item1)) 2625 2626 def GetDisplacement(self, item1 = None) -> DisplacementAutomatedConstraint: 2627 if isinstance(item1, int): 2628 return DisplacementAutomatedConstraint(self._Entity.GetDisplacement(item1)) 2629 2630 if isinstance(item1, str): 2631 return DisplacementAutomatedConstraint(self._Entity.GetDisplacement(item1)) 2632 2633 return DisplacementAutomatedConstraint(self._Entity.GetDisplacement(item1)) 2634 2635 def Get(self, item1 = None) -> AutomatedConstraint: 2636 if isinstance(item1, str): 2637 return AutomatedConstraint(super().Get(item1)) 2638 2639 if isinstance(item1, int): 2640 return AutomatedConstraint(super().Get(item1)) 2641 2642 result = self._Entity.Get(item1) 2643 thisClass = type(result).__name__ 2644 givenClass = AutomatedConstraint 2645 for subclass in AutomatedConstraint.__subclasses__(): 2646 if subclass.__name__ == thisClass: 2647 givenClass = subclass 2648 return givenClass(result) 2649 2650 def __getitem__(self, index: int): 2651 return self.AutomatedConstraintColList[index] 2652 2653 def __iter__(self): 2654 yield from self.AutomatedConstraintColList 2655 2656 def __len__(self): 2657 return len(self.AutomatedConstraintColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
2522 def AddBucklingConstraint(self, designLoads: list[str], eigenvalue: float, name: str = None) -> BucklingAutomatedConstraint: 2523 designLoadsList = List[str]() 2524 if designLoads is not None: 2525 for thing in designLoads: 2526 if thing is not None: 2527 designLoadsList.Add(thing) 2528 return BucklingAutomatedConstraint(self._Entity.AddBucklingConstraint(designLoadsList, eigenvalue, name))
2530 def AddFrequencyConstraint(self, designLoads: list[str], eigenvalue: float, name: str = None) -> FrequencyAutomatedConstraint: 2531 designLoadsList = List[str]() 2532 if designLoads is not None: 2533 for thing in designLoads: 2534 if thing is not None: 2535 designLoadsList.Add(thing) 2536 return FrequencyAutomatedConstraint(self._Entity.AddFrequencyConstraint(designLoadsList, eigenvalue, name))
2538 def AddDisplacementConstraint(self, designLoads: list[str], gridId: int, limit: float, name: str = None) -> DisplacementAutomatedConstraint: 2539 designLoadsList = List[str]() 2540 if designLoads is not None: 2541 for thing in designLoads: 2542 if thing is not None: 2543 designLoadsList.Add(thing) 2544 return DisplacementAutomatedConstraint(self._Entity.AddDisplacementConstraint(designLoadsList, gridId, limit, name))
2546 def AddRotationConstraint(self, designLoads: list[str], gridId: int, limit: float, name: str = None) -> RotationAutomatedConstraint: 2547 designLoadsList = List[str]() 2548 if designLoads is not None: 2549 for thing in designLoads: 2550 if thing is not None: 2551 designLoadsList.Add(thing) 2552 return RotationAutomatedConstraint(self._Entity.AddRotationConstraint(designLoadsList, gridId, limit, name))
2599 def GetBuckling(self, item1 = None) -> BucklingAutomatedConstraint: 2600 if isinstance(item1, int): 2601 return BucklingAutomatedConstraint(self._Entity.GetBuckling(item1)) 2602 2603 if isinstance(item1, str): 2604 return BucklingAutomatedConstraint(self._Entity.GetBuckling(item1)) 2605 2606 return BucklingAutomatedConstraint(self._Entity.GetBuckling(item1))
2608 def GetFrequency(self, item1 = None) -> FrequencyAutomatedConstraint: 2609 if isinstance(item1, int): 2610 return FrequencyAutomatedConstraint(self._Entity.GetFrequency(item1)) 2611 2612 if isinstance(item1, str): 2613 return FrequencyAutomatedConstraint(self._Entity.GetFrequency(item1)) 2614 2615 return FrequencyAutomatedConstraint(self._Entity.GetFrequency(item1))
2617 def GetRotation(self, item1 = None) -> RotationAutomatedConstraint: 2618 if isinstance(item1, int): 2619 return RotationAutomatedConstraint(self._Entity.GetRotation(item1)) 2620 2621 if isinstance(item1, str): 2622 return RotationAutomatedConstraint(self._Entity.GetRotation(item1)) 2623 2624 return RotationAutomatedConstraint(self._Entity.GetRotation(item1))
2626 def GetDisplacement(self, item1 = None) -> DisplacementAutomatedConstraint: 2627 if isinstance(item1, int): 2628 return DisplacementAutomatedConstraint(self._Entity.GetDisplacement(item1)) 2629 2630 if isinstance(item1, str): 2631 return DisplacementAutomatedConstraint(self._Entity.GetDisplacement(item1)) 2632 2633 return DisplacementAutomatedConstraint(self._Entity.GetDisplacement(item1))
2635 def Get(self, item1 = None) -> AutomatedConstraint: 2636 if isinstance(item1, str): 2637 return AutomatedConstraint(super().Get(item1)) 2638 2639 if isinstance(item1, int): 2640 return AutomatedConstraint(super().Get(item1)) 2641 2642 result = self._Entity.Get(item1) 2643 thisClass = type(result).__name__ 2644 givenClass = AutomatedConstraint 2645 for subclass in AutomatedConstraint.__subclasses__(): 2646 if subclass.__name__ == thisClass: 2647 givenClass = subclass 2648 return givenClass(result)
Inherited Members
2660class ManualConstraintCol(IdNameEntityCol[ManualConstraint]): 2661 def __init__(self, manualConstraintCol: _api.ManualConstraintCol): 2662 self._Entity = manualConstraintCol 2663 self._CollectedClass = ManualConstraint 2664 2665 @property 2666 def ManualConstraintColList(self) -> tuple[ManualConstraint]: 2667 return tuple([ManualConstraint(manualConstraintCol) for manualConstraintCol in self._Entity]) 2668 2669 @overload 2670 def GetFrequency(self, id: int) -> FrequencyManualConstraint: ... 2671 2672 @overload 2673 def GetFrequency(self, name: str) -> FrequencyManualConstraint: ... 2674 2675 @overload 2676 def GetBuckling(self, id: int) -> BucklingManualConstraint: ... 2677 2678 @overload 2679 def GetBuckling(self, name: str) -> BucklingManualConstraint: ... 2680 2681 @overload 2682 def GetDisplacement(self, id: int) -> DisplacementManualConstraint: ... 2683 2684 @overload 2685 def GetDisplacement(self, name: str) -> DisplacementManualConstraint: ... 2686 2687 @overload 2688 def GetStaticMoment(self, id: int) -> StaticMomentManualConstraint: ... 2689 2690 @overload 2691 def GetStaticMoment(self, name: str) -> StaticMomentManualConstraint: ... 2692 2693 def AddFrequencyConstraint(self, setName: str, limit: float, name: str = None) -> FrequencyManualConstraint: 2694 ''' 2695 Add a Manual Constraint of type Frequency. 2696 ''' 2697 return FrequencyManualConstraint(self._Entity.AddFrequencyConstraint(setName, limit, name)) 2698 2699 def AddBucklingConstraint(self, setName: str, limit: float, name: str = None) -> BucklingManualConstraint: 2700 ''' 2701 Add a Manual Constraint of type Buckling. 2702 ''' 2703 return BucklingManualConstraint(self._Entity.AddBucklingConstraint(setName, limit, name)) 2704 2705 def AddStaticMomentManualConstraint(self, setName: str, limit: float, name: str = None) -> StaticMomentManualConstraint: 2706 ''' 2707 Add a Manual Constraint of type Static Moment. 2708 ''' 2709 return StaticMomentManualConstraint(self._Entity.AddStaticMomentManualConstraint(setName, limit, name)) 2710 2711 def AddDisplacementConstraint(self, setName: str, gridIds: list[int], limit: float, name: str = None) -> DisplacementManualConstraint: 2712 gridIdsList = MakeCSharpIntList(gridIds) 2713 return DisplacementManualConstraint(self._Entity.AddDisplacementConstraint(setName, gridIdsList, limit, name)) 2714 2715 @overload 2716 def DeleteConstraint(self, name: str) -> bool: ... 2717 2718 @overload 2719 def DeleteConstraint(self, id: int) -> bool: ... 2720 2721 @overload 2722 def Get(self, name: str) -> ManualConstraint: ... 2723 2724 @overload 2725 def Get(self, id: int) -> ManualConstraint: ... 2726 2727 def GetFrequency(self, item1 = None) -> FrequencyManualConstraint: 2728 if isinstance(item1, int): 2729 return FrequencyManualConstraint(self._Entity.GetFrequency(item1)) 2730 2731 if isinstance(item1, str): 2732 return FrequencyManualConstraint(self._Entity.GetFrequency(item1)) 2733 2734 return FrequencyManualConstraint(self._Entity.GetFrequency(item1)) 2735 2736 def GetBuckling(self, item1 = None) -> BucklingManualConstraint: 2737 if isinstance(item1, int): 2738 return BucklingManualConstraint(self._Entity.GetBuckling(item1)) 2739 2740 if isinstance(item1, str): 2741 return BucklingManualConstraint(self._Entity.GetBuckling(item1)) 2742 2743 return BucklingManualConstraint(self._Entity.GetBuckling(item1)) 2744 2745 def GetDisplacement(self, item1 = None) -> DisplacementManualConstraint: 2746 if isinstance(item1, int): 2747 return DisplacementManualConstraint(self._Entity.GetDisplacement(item1)) 2748 2749 if isinstance(item1, str): 2750 return DisplacementManualConstraint(self._Entity.GetDisplacement(item1)) 2751 2752 return DisplacementManualConstraint(self._Entity.GetDisplacement(item1)) 2753 2754 def GetStaticMoment(self, item1 = None) -> StaticMomentManualConstraint: 2755 if isinstance(item1, int): 2756 return StaticMomentManualConstraint(self._Entity.GetStaticMoment(item1)) 2757 2758 if isinstance(item1, str): 2759 return StaticMomentManualConstraint(self._Entity.GetStaticMoment(item1)) 2760 2761 return StaticMomentManualConstraint(self._Entity.GetStaticMoment(item1)) 2762 2763 def DeleteConstraint(self, item1 = None) -> bool: 2764 if isinstance(item1, str): 2765 return self._Entity.DeleteConstraint(item1) 2766 2767 if isinstance(item1, int): 2768 return self._Entity.DeleteConstraint(item1) 2769 2770 return self._Entity.DeleteConstraint(item1) 2771 2772 def Get(self, item1 = None) -> ManualConstraint: 2773 if isinstance(item1, str): 2774 return ManualConstraint(super().Get(item1)) 2775 2776 if isinstance(item1, int): 2777 return ManualConstraint(super().Get(item1)) 2778 2779 return ManualConstraint(self._Entity.Get(item1)) 2780 2781 def __getitem__(self, index: int): 2782 return self.ManualConstraintColList[index] 2783 2784 def __iter__(self): 2785 yield from self.ManualConstraintColList 2786 2787 def __len__(self): 2788 return len(self.ManualConstraintColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
2727 def GetFrequency(self, item1 = None) -> FrequencyManualConstraint: 2728 if isinstance(item1, int): 2729 return FrequencyManualConstraint(self._Entity.GetFrequency(item1)) 2730 2731 if isinstance(item1, str): 2732 return FrequencyManualConstraint(self._Entity.GetFrequency(item1)) 2733 2734 return FrequencyManualConstraint(self._Entity.GetFrequency(item1))
2736 def GetBuckling(self, item1 = None) -> BucklingManualConstraint: 2737 if isinstance(item1, int): 2738 return BucklingManualConstraint(self._Entity.GetBuckling(item1)) 2739 2740 if isinstance(item1, str): 2741 return BucklingManualConstraint(self._Entity.GetBuckling(item1)) 2742 2743 return BucklingManualConstraint(self._Entity.GetBuckling(item1))
2745 def GetDisplacement(self, item1 = None) -> DisplacementManualConstraint: 2746 if isinstance(item1, int): 2747 return DisplacementManualConstraint(self._Entity.GetDisplacement(item1)) 2748 2749 if isinstance(item1, str): 2750 return DisplacementManualConstraint(self._Entity.GetDisplacement(item1)) 2751 2752 return DisplacementManualConstraint(self._Entity.GetDisplacement(item1))
2754 def GetStaticMoment(self, item1 = None) -> StaticMomentManualConstraint: 2755 if isinstance(item1, int): 2756 return StaticMomentManualConstraint(self._Entity.GetStaticMoment(item1)) 2757 2758 if isinstance(item1, str): 2759 return StaticMomentManualConstraint(self._Entity.GetStaticMoment(item1)) 2760 2761 return StaticMomentManualConstraint(self._Entity.GetStaticMoment(item1))
2693 def AddFrequencyConstraint(self, setName: str, limit: float, name: str = None) -> FrequencyManualConstraint: 2694 ''' 2695 Add a Manual Constraint of type Frequency. 2696 ''' 2697 return FrequencyManualConstraint(self._Entity.AddFrequencyConstraint(setName, limit, name))
Add a Manual Constraint of type Frequency.
2699 def AddBucklingConstraint(self, setName: str, limit: float, name: str = None) -> BucklingManualConstraint: 2700 ''' 2701 Add a Manual Constraint of type Buckling. 2702 ''' 2703 return BucklingManualConstraint(self._Entity.AddBucklingConstraint(setName, limit, name))
Add a Manual Constraint of type Buckling.
2705 def AddStaticMomentManualConstraint(self, setName: str, limit: float, name: str = None) -> StaticMomentManualConstraint: 2706 ''' 2707 Add a Manual Constraint of type Static Moment. 2708 ''' 2709 return StaticMomentManualConstraint(self._Entity.AddStaticMomentManualConstraint(setName, limit, name))
Add a Manual Constraint of type Static Moment.
2711 def AddDisplacementConstraint(self, setName: str, gridIds: list[int], limit: float, name: str = None) -> DisplacementManualConstraint: 2712 gridIdsList = MakeCSharpIntList(gridIds) 2713 return DisplacementManualConstraint(self._Entity.AddDisplacementConstraint(setName, gridIdsList, limit, name))
Inherited Members
2791class HyperFea: 2792 def __init__(self, hyperFea: _api.HyperFea): 2793 self._Entity = hyperFea 2794 2795 @property 2796 def ManualConstraints(self) -> ManualConstraintCol: 2797 result = self._Entity.ManualConstraints 2798 return ManualConstraintCol(result) if result is not None else None 2799 2800 @property 2801 def AutomatedConstraints(self) -> AutomatedConstraintCol: 2802 result = self._Entity.AutomatedConstraints 2803 return AutomatedConstraintCol(result) if result is not None else None 2804 2805 def RunIterations(self, numberOfIterations: int, startWithSizing: bool) -> None: 2806 ''' 2807 Run HyperFEA. 2808 ''' 2809 return self._Entity.RunIterations(numberOfIterations, startWithSizing) 2810 2811 def SetupSolver(self, solverPath: str, arguments: str) -> types.SimpleStatus: 2812 ''' 2813 Setup FEA solver. 2814 ''' 2815 return types.SimpleStatus(self._Entity.SetupSolver(solverPath, arguments)) 2816 2817 def TestSolver(self) -> types.SimpleStatus: 2818 ''' 2819 Test FEA solver setup. 2820 ''' 2821 return types.SimpleStatus(self._Entity.TestSolver()) 2822 2823 def GetSolverSetup(self) -> types.HyperFeaSolver: 2824 ''' 2825 Get the current FEA solver setup. 2826 ''' 2827 return types.HyperFeaSolver(self._Entity.GetSolverSetup())
2805 def RunIterations(self, numberOfIterations: int, startWithSizing: bool) -> None: 2806 ''' 2807 Run HyperFEA. 2808 ''' 2809 return self._Entity.RunIterations(numberOfIterations, startWithSizing)
Run HyperFEA.
2811 def SetupSolver(self, solverPath: str, arguments: str) -> types.SimpleStatus: 2812 ''' 2813 Setup FEA solver. 2814 ''' 2815 return types.SimpleStatus(self._Entity.SetupSolver(solverPath, arguments))
Setup FEA solver.
2830class FoamTemperature: 2831 ''' 2832 Foam material temperature dependent properties. 2833 ''' 2834 def __init__(self, foamTemperature: _api.FoamTemperature): 2835 self._Entity = foamTemperature 2836 2837 @property 2838 def Temperature(self) -> float: 2839 return self._Entity.Temperature 2840 2841 @property 2842 def Et(self) -> float: 2843 return self._Entity.Et 2844 2845 @property 2846 def Ec(self) -> float: 2847 return self._Entity.Ec 2848 2849 @property 2850 def G(self) -> float: 2851 return self._Entity.G 2852 2853 @property 2854 def Ef(self) -> float: 2855 return self._Entity.Ef 2856 2857 @property 2858 def Ftu(self) -> float: 2859 return self._Entity.Ftu 2860 2861 @property 2862 def Fcu(self) -> float: 2863 return self._Entity.Fcu 2864 2865 @property 2866 def Fsu(self) -> float: 2867 return self._Entity.Fsu 2868 2869 @property 2870 def Ffu(self) -> float: 2871 return self._Entity.Ffu 2872 2873 @property 2874 def K(self) -> float: 2875 return self._Entity.K 2876 2877 @property 2878 def C(self) -> float: 2879 return self._Entity.C 2880 2881 @Temperature.setter 2882 def Temperature(self, value: float) -> None: 2883 self._Entity.Temperature = value 2884 2885 @Et.setter 2886 def Et(self, value: float) -> None: 2887 self._Entity.Et = value 2888 2889 @Ec.setter 2890 def Ec(self, value: float) -> None: 2891 self._Entity.Ec = value 2892 2893 @G.setter 2894 def G(self, value: float) -> None: 2895 self._Entity.G = value 2896 2897 @Ef.setter 2898 def Ef(self, value: float) -> None: 2899 self._Entity.Ef = value 2900 2901 @Ftu.setter 2902 def Ftu(self, value: float) -> None: 2903 self._Entity.Ftu = value 2904 2905 @Fcu.setter 2906 def Fcu(self, value: float) -> None: 2907 self._Entity.Fcu = value 2908 2909 @Fsu.setter 2910 def Fsu(self, value: float) -> None: 2911 self._Entity.Fsu = value 2912 2913 @Ffu.setter 2914 def Ffu(self, value: float) -> None: 2915 self._Entity.Ffu = value 2916 2917 @K.setter 2918 def K(self, value: float) -> None: 2919 self._Entity.K = value 2920 2921 @C.setter 2922 def C(self, value: float) -> None: 2923 self._Entity.C = value
Foam material temperature dependent properties.
2926class Foam: 2927 ''' 2928 Foam material. 2929 ''' 2930 def __init__(self, foam: _api.Foam): 2931 self._Entity = foam 2932 2933 @property 2934 def MaterialFamilyName(self) -> str: 2935 return self._Entity.MaterialFamilyName 2936 2937 @property 2938 def Id(self) -> int: 2939 return self._Entity.Id 2940 2941 @property 2942 def CreationDate(self) -> DateTime: 2943 return self._Entity.CreationDate 2944 2945 @property 2946 def ModificationDate(self) -> DateTime: 2947 return self._Entity.ModificationDate 2948 2949 @property 2950 def Name(self) -> str: 2951 return self._Entity.Name 2952 2953 @property 2954 def Wet(self) -> bool: 2955 return self._Entity.Wet 2956 2957 @property 2958 def Density(self) -> float: 2959 return self._Entity.Density 2960 2961 @property 2962 def Form(self) -> str: 2963 return self._Entity.Form 2964 2965 @property 2966 def Specification(self) -> str: 2967 return self._Entity.Specification 2968 2969 @property 2970 def MaterialDescription(self) -> str: 2971 return self._Entity.MaterialDescription 2972 2973 @property 2974 def UserNote(self) -> str: 2975 return self._Entity.UserNote 2976 2977 @property 2978 def FemMaterialId(self) -> int: 2979 return self._Entity.FemMaterialId 2980 2981 @property 2982 def Cost(self) -> float: 2983 return self._Entity.Cost 2984 2985 @property 2986 def BucklingStiffnessKnockdown(self) -> float: 2987 return self._Entity.BucklingStiffnessKnockdown 2988 2989 @property 2990 def Absorption(self) -> float: 2991 return self._Entity.Absorption 2992 2993 @property 2994 def Manufacturer(self) -> str: 2995 return self._Entity.Manufacturer 2996 2997 @property 2998 def FoamTemperatureProperties(self) -> list[FoamTemperature]: 2999 return [FoamTemperature(foamTemperature) for foamTemperature in self._Entity.FoamTemperatureProperties] 3000 3001 @MaterialFamilyName.setter 3002 def MaterialFamilyName(self, value: str) -> None: 3003 self._Entity.MaterialFamilyName = value 3004 3005 @Name.setter 3006 def Name(self, value: str) -> None: 3007 self._Entity.Name = value 3008 3009 @Wet.setter 3010 def Wet(self, value: bool) -> None: 3011 self._Entity.Wet = value 3012 3013 @Density.setter 3014 def Density(self, value: float) -> None: 3015 self._Entity.Density = value 3016 3017 @Form.setter 3018 def Form(self, value: str) -> None: 3019 self._Entity.Form = value 3020 3021 @Specification.setter 3022 def Specification(self, value: str) -> None: 3023 self._Entity.Specification = value 3024 3025 @MaterialDescription.setter 3026 def MaterialDescription(self, value: str) -> None: 3027 self._Entity.MaterialDescription = value 3028 3029 @UserNote.setter 3030 def UserNote(self, value: str) -> None: 3031 self._Entity.UserNote = value 3032 3033 @FemMaterialId.setter 3034 def FemMaterialId(self, value: int) -> None: 3035 self._Entity.FemMaterialId = value 3036 3037 @Cost.setter 3038 def Cost(self, value: float) -> None: 3039 self._Entity.Cost = value 3040 3041 @BucklingStiffnessKnockdown.setter 3042 def BucklingStiffnessKnockdown(self, value: float) -> None: 3043 self._Entity.BucklingStiffnessKnockdown = value 3044 3045 @Absorption.setter 3046 def Absorption(self, value: float) -> None: 3047 self._Entity.Absorption = value 3048 3049 @Manufacturer.setter 3050 def Manufacturer(self, value: str) -> None: 3051 self._Entity.Manufacturer = value 3052 3053 def AddTemperatureProperty(self, temperature: float, et: float, ec: float, g: float, ftu: float, fcu: float, fsu: float, ef: float = None, ffu: float = None, k: float = None, c: float = None) -> FoamTemperature: 3054 return FoamTemperature(self._Entity.AddTemperatureProperty(temperature, et, ec, g, ftu, fcu, fsu, ef, ffu, k, c)) 3055 3056 def DeleteTemperatureProperty(self, temperature: float) -> bool: 3057 ''' 3058 Deletes a temperature-dependent property for a material. 3059 ''' 3060 return self._Entity.DeleteTemperatureProperty(temperature) 3061 3062 def GetTemperature(self, lookupTemperature: float) -> FoamTemperature: 3063 ''' 3064 Retrieve a Temperature from this material's temperature-dependent properties. Allows a degree of tolerance to avoid issues with floating point numbers. 3065 :param LookupTemperature: Temperature to search for. 3066 ''' 3067 return FoamTemperature(self._Entity.GetTemperature(lookupTemperature)) 3068 3069 def Save(self) -> None: 3070 ''' 3071 Save any changes to this foam material to the database. 3072 ''' 3073 return self._Entity.Save()
Foam material.
3053 def AddTemperatureProperty(self, temperature: float, et: float, ec: float, g: float, ftu: float, fcu: float, fsu: float, ef: float = None, ffu: float = None, k: float = None, c: float = None) -> FoamTemperature: 3054 return FoamTemperature(self._Entity.AddTemperatureProperty(temperature, et, ec, g, ftu, fcu, fsu, ef, ffu, k, c))
3056 def DeleteTemperatureProperty(self, temperature: float) -> bool: 3057 ''' 3058 Deletes a temperature-dependent property for a material. 3059 ''' 3060 return self._Entity.DeleteTemperatureProperty(temperature)
Deletes a temperature-dependent property for a material.
3062 def GetTemperature(self, lookupTemperature: float) -> FoamTemperature: 3063 ''' 3064 Retrieve a Temperature from this material's temperature-dependent properties. Allows a degree of tolerance to avoid issues with floating point numbers. 3065 :param LookupTemperature: Temperature to search for. 3066 ''' 3067 return FoamTemperature(self._Entity.GetTemperature(lookupTemperature))
Retrieve a Temperature from this material's temperature-dependent properties. Allows a degree of tolerance to avoid issues with floating point numbers.
Parameters
- LookupTemperature: Temperature to search for.
3076class HoneycombTemperature: 3077 ''' 3078 Honeycomb material temperature dependent properties. 3079 ''' 3080 def __init__(self, honeycombTemperature: _api.HoneycombTemperature): 3081 self._Entity = honeycombTemperature 3082 3083 @property 3084 def Temperature(self) -> float: 3085 return self._Entity.Temperature 3086 3087 @property 3088 def Et(self) -> float: 3089 return self._Entity.Et 3090 3091 @property 3092 def Ec(self) -> float: 3093 return self._Entity.Ec 3094 3095 @property 3096 def Gw(self) -> float: 3097 return self._Entity.Gw 3098 3099 @property 3100 def Gl(self) -> float: 3101 return self._Entity.Gl 3102 3103 @property 3104 def Ftu(self) -> float: 3105 return self._Entity.Ftu 3106 3107 @property 3108 def Fcus(self) -> float: 3109 return self._Entity.Fcus 3110 3111 @property 3112 def Fcub(self) -> float: 3113 return self._Entity.Fcub 3114 3115 @property 3116 def Fcuc(self) -> float: 3117 return self._Entity.Fcuc 3118 3119 @property 3120 def Fsuw(self) -> float: 3121 return self._Entity.Fsuw 3122 3123 @property 3124 def Fsul(self) -> float: 3125 return self._Entity.Fsul 3126 3127 @property 3128 def SScfl(self) -> float: 3129 return self._Entity.SScfl 3130 3131 @property 3132 def SScfh(self) -> float: 3133 return self._Entity.SScfh 3134 3135 @property 3136 def Kl(self) -> float: 3137 return self._Entity.Kl 3138 3139 @property 3140 def Kw(self) -> float: 3141 return self._Entity.Kw 3142 3143 @property 3144 def Kt(self) -> float: 3145 return self._Entity.Kt 3146 3147 @property 3148 def C(self) -> float: 3149 return self._Entity.C 3150 3151 @Temperature.setter 3152 def Temperature(self, value: float) -> None: 3153 self._Entity.Temperature = value 3154 3155 @Et.setter 3156 def Et(self, value: float) -> None: 3157 self._Entity.Et = value 3158 3159 @Ec.setter 3160 def Ec(self, value: float) -> None: 3161 self._Entity.Ec = value 3162 3163 @Gw.setter 3164 def Gw(self, value: float) -> None: 3165 self._Entity.Gw = value 3166 3167 @Gl.setter 3168 def Gl(self, value: float) -> None: 3169 self._Entity.Gl = value 3170 3171 @Ftu.setter 3172 def Ftu(self, value: float) -> None: 3173 self._Entity.Ftu = value 3174 3175 @Fcus.setter 3176 def Fcus(self, value: float) -> None: 3177 self._Entity.Fcus = value 3178 3179 @Fcub.setter 3180 def Fcub(self, value: float) -> None: 3181 self._Entity.Fcub = value 3182 3183 @Fcuc.setter 3184 def Fcuc(self, value: float) -> None: 3185 self._Entity.Fcuc = value 3186 3187 @Fsuw.setter 3188 def Fsuw(self, value: float) -> None: 3189 self._Entity.Fsuw = value 3190 3191 @Fsul.setter 3192 def Fsul(self, value: float) -> None: 3193 self._Entity.Fsul = value 3194 3195 @SScfl.setter 3196 def SScfl(self, value: float) -> None: 3197 self._Entity.SScfl = value 3198 3199 @SScfh.setter 3200 def SScfh(self, value: float) -> None: 3201 self._Entity.SScfh = value 3202 3203 @Kl.setter 3204 def Kl(self, value: float) -> None: 3205 self._Entity.Kl = value 3206 3207 @Kw.setter 3208 def Kw(self, value: float) -> None: 3209 self._Entity.Kw = value 3210 3211 @Kt.setter 3212 def Kt(self, value: float) -> None: 3213 self._Entity.Kt = value 3214 3215 @C.setter 3216 def C(self, value: float) -> None: 3217 self._Entity.C = value
Honeycomb material temperature dependent properties.
3220class Honeycomb: 3221 ''' 3222 Honeycomb material. 3223 ''' 3224 def __init__(self, honeycomb: _api.Honeycomb): 3225 self._Entity = honeycomb 3226 3227 @property 3228 def MaterialFamilyName(self) -> str: 3229 return self._Entity.MaterialFamilyName 3230 3231 @property 3232 def Id(self) -> int: 3233 return self._Entity.Id 3234 3235 @property 3236 def CreationDate(self) -> DateTime: 3237 return self._Entity.CreationDate 3238 3239 @property 3240 def ModificationDate(self) -> DateTime: 3241 return self._Entity.ModificationDate 3242 3243 @property 3244 def Name(self) -> str: 3245 return self._Entity.Name 3246 3247 @property 3248 def Wet(self) -> bool: 3249 return self._Entity.Wet 3250 3251 @property 3252 def Density(self) -> float: 3253 return self._Entity.Density 3254 3255 @property 3256 def Form(self) -> str: 3257 return self._Entity.Form 3258 3259 @property 3260 def Specification(self) -> str: 3261 return self._Entity.Specification 3262 3263 @property 3264 def MaterialDescription(self) -> str: 3265 return self._Entity.MaterialDescription 3266 3267 @property 3268 def UserNote(self) -> str: 3269 return self._Entity.UserNote 3270 3271 @property 3272 def FemMaterialId(self) -> int: 3273 return self._Entity.FemMaterialId 3274 3275 @property 3276 def Cost(self) -> float: 3277 return self._Entity.Cost 3278 3279 @property 3280 def CellSize(self) -> float: 3281 return self._Entity.CellSize 3282 3283 @property 3284 def Manufacturer(self) -> str: 3285 return self._Entity.Manufacturer 3286 3287 @property 3288 def HoneycombTemperatureProperties(self) -> list[HoneycombTemperature]: 3289 return [HoneycombTemperature(honeycombTemperature) for honeycombTemperature in self._Entity.HoneycombTemperatureProperties] 3290 3291 @MaterialFamilyName.setter 3292 def MaterialFamilyName(self, value: str) -> None: 3293 self._Entity.MaterialFamilyName = value 3294 3295 @Name.setter 3296 def Name(self, value: str) -> None: 3297 self._Entity.Name = value 3298 3299 @Wet.setter 3300 def Wet(self, value: bool) -> None: 3301 self._Entity.Wet = value 3302 3303 @Density.setter 3304 def Density(self, value: float) -> None: 3305 self._Entity.Density = value 3306 3307 @Form.setter 3308 def Form(self, value: str) -> None: 3309 self._Entity.Form = value 3310 3311 @Specification.setter 3312 def Specification(self, value: str) -> None: 3313 self._Entity.Specification = value 3314 3315 @MaterialDescription.setter 3316 def MaterialDescription(self, value: str) -> None: 3317 self._Entity.MaterialDescription = value 3318 3319 @UserNote.setter 3320 def UserNote(self, value: str) -> None: 3321 self._Entity.UserNote = value 3322 3323 @FemMaterialId.setter 3324 def FemMaterialId(self, value: int) -> None: 3325 self._Entity.FemMaterialId = value 3326 3327 @Cost.setter 3328 def Cost(self, value: float) -> None: 3329 self._Entity.Cost = value 3330 3331 @CellSize.setter 3332 def CellSize(self, value: float) -> None: 3333 self._Entity.CellSize = value 3334 3335 @Manufacturer.setter 3336 def Manufacturer(self, value: str) -> None: 3337 self._Entity.Manufacturer = value 3338 3339 def AddTemperatureProperty(self, temperature: float, et: float, ec: float, gw: float, gl: float, ftu: float, fcus: float, fcub: float, fcuc: float, fsuw: float, fsul: float, sScfl: float = None, sScfh: float = None, k1: float = None, k2: float = None, k3: float = None, c: float = None) -> HoneycombTemperature: 3340 return HoneycombTemperature(self._Entity.AddTemperatureProperty(temperature, et, ec, gw, gl, ftu, fcus, fcub, fcuc, fsuw, fsul, sScfl, sScfh, k1, k2, k3, c)) 3341 3342 def DeleteTemperatureProperty(self, temperature: float) -> bool: 3343 ''' 3344 Deletes a temperature-dependent property for a material. 3345 ''' 3346 return self._Entity.DeleteTemperatureProperty(temperature) 3347 3348 def GetTemperature(self, lookupTemperature: float) -> HoneycombTemperature: 3349 ''' 3350 Retrieve a Temperature from this material's temperature-dependent properties. Allows a degree of tolerance to avoid issues with floating point numbers. 3351 :param LookupTemperature: Temperature to search for. 3352 ''' 3353 return HoneycombTemperature(self._Entity.GetTemperature(lookupTemperature)) 3354 3355 def Save(self) -> None: 3356 ''' 3357 Save any changes to this honeycomb material to the database. 3358 ''' 3359 return self._Entity.Save()
Honeycomb material.
3339 def AddTemperatureProperty(self, temperature: float, et: float, ec: float, gw: float, gl: float, ftu: float, fcus: float, fcub: float, fcuc: float, fsuw: float, fsul: float, sScfl: float = None, sScfh: float = None, k1: float = None, k2: float = None, k3: float = None, c: float = None) -> HoneycombTemperature: 3340 return HoneycombTemperature(self._Entity.AddTemperatureProperty(temperature, et, ec, gw, gl, ftu, fcus, fcub, fcuc, fsuw, fsul, sScfl, sScfh, k1, k2, k3, c))
3342 def DeleteTemperatureProperty(self, temperature: float) -> bool: 3343 ''' 3344 Deletes a temperature-dependent property for a material. 3345 ''' 3346 return self._Entity.DeleteTemperatureProperty(temperature)
Deletes a temperature-dependent property for a material.
3348 def GetTemperature(self, lookupTemperature: float) -> HoneycombTemperature: 3349 ''' 3350 Retrieve a Temperature from this material's temperature-dependent properties. Allows a degree of tolerance to avoid issues with floating point numbers. 3351 :param LookupTemperature: Temperature to search for. 3352 ''' 3353 return HoneycombTemperature(self._Entity.GetTemperature(lookupTemperature))
Retrieve a Temperature from this material's temperature-dependent properties. Allows a degree of tolerance to avoid issues with floating point numbers.
Parameters
- LookupTemperature: Temperature to search for.
3362class IsotropicTemperature: 3363 ''' 3364 Isotropic material temperature dependent properties. 3365 ''' 3366 def __init__(self, isotropicTemperature: _api.IsotropicTemperature): 3367 self._Entity = isotropicTemperature 3368 3369 @property 3370 def Temperature(self) -> float: 3371 return self._Entity.Temperature 3372 3373 @property 3374 def Et(self) -> float: 3375 return self._Entity.Et 3376 3377 @property 3378 def Ec(self) -> float: 3379 return self._Entity.Ec 3380 3381 @property 3382 def G(self) -> float: 3383 return self._Entity.G 3384 3385 @property 3386 def n(self) -> float: 3387 return self._Entity.n 3388 3389 @property 3390 def F02(self) -> float: 3391 return self._Entity.F02 3392 3393 @property 3394 def FtuL(self) -> float: 3395 return self._Entity.FtuL 3396 3397 @property 3398 def FtyL(self) -> float: 3399 return self._Entity.FtyL 3400 3401 @property 3402 def FcyL(self) -> float: 3403 return self._Entity.FcyL 3404 3405 @property 3406 def FtuLT(self) -> float: 3407 return self._Entity.FtuLT 3408 3409 @property 3410 def FtyLT(self) -> float: 3411 return self._Entity.FtyLT 3412 3413 @property 3414 def FcyLT(self) -> float: 3415 return self._Entity.FcyLT 3416 3417 @property 3418 def Fsu(self) -> float: 3419 return self._Entity.Fsu 3420 3421 @property 3422 def Fbru15(self) -> float: 3423 return self._Entity.Fbru15 3424 3425 @property 3426 def Fbry15(self) -> float: 3427 return self._Entity.Fbry15 3428 3429 @property 3430 def Fbru20(self) -> float: 3431 return self._Entity.Fbru20 3432 3433 @property 3434 def Fbry20(self) -> float: 3435 return self._Entity.Fbry20 3436 3437 @property 3438 def alpha(self) -> float: 3439 return self._Entity.alpha 3440 3441 @property 3442 def K(self) -> float: 3443 return self._Entity.K 3444 3445 @property 3446 def C(self) -> float: 3447 return self._Entity.C 3448 3449 @property 3450 def etyL(self) -> float: 3451 return self._Entity.etyL 3452 3453 @property 3454 def ecyL(self) -> float: 3455 return self._Entity.ecyL 3456 3457 @property 3458 def etyLT(self) -> float: 3459 return self._Entity.etyLT 3460 3461 @property 3462 def ecyLT(self) -> float: 3463 return self._Entity.ecyLT 3464 3465 @property 3466 def esu(self) -> float: 3467 return self._Entity.esu 3468 3469 @property 3470 def Fpadh(self) -> float: 3471 return self._Entity.Fpadh 3472 3473 @property 3474 def Fsadh(self) -> float: 3475 return self._Entity.Fsadh 3476 3477 @property 3478 def esadh(self) -> float: 3479 return self._Entity.esadh 3480 3481 @property 3482 def cd(self) -> float: 3483 return self._Entity.cd 3484 3485 @property 3486 def Ffwt(self) -> float: 3487 return self._Entity.Ffwt 3488 3489 @property 3490 def Ffxz(self) -> float: 3491 return self._Entity.Ffxz 3492 3493 @property 3494 def Ffyz(self) -> float: 3495 return self._Entity.Ffyz 3496 3497 @property 3498 def FtFatigue(self) -> float: 3499 return self._Entity.FtFatigue 3500 3501 @property 3502 def FcFatigue(self) -> float: 3503 return self._Entity.FcFatigue 3504 3505 @Temperature.setter 3506 def Temperature(self, value: float) -> None: 3507 self._Entity.Temperature = value 3508 3509 @Et.setter 3510 def Et(self, value: float) -> None: 3511 self._Entity.Et = value 3512 3513 @Ec.setter 3514 def Ec(self, value: float) -> None: 3515 self._Entity.Ec = value 3516 3517 @G.setter 3518 def G(self, value: float) -> None: 3519 self._Entity.G = value 3520 3521 @n.setter 3522 def n(self, value: float) -> None: 3523 self._Entity.n = value 3524 3525 @F02.setter 3526 def F02(self, value: float) -> None: 3527 self._Entity.F02 = value 3528 3529 @FtuL.setter 3530 def FtuL(self, value: float) -> None: 3531 self._Entity.FtuL = value 3532 3533 @FtyL.setter 3534 def FtyL(self, value: float) -> None: 3535 self._Entity.FtyL = value 3536 3537 @FcyL.setter 3538 def FcyL(self, value: float) -> None: 3539 self._Entity.FcyL = value 3540 3541 @FtuLT.setter 3542 def FtuLT(self, value: float) -> None: 3543 self._Entity.FtuLT = value 3544 3545 @FtyLT.setter 3546 def FtyLT(self, value: float) -> None: 3547 self._Entity.FtyLT = value 3548 3549 @FcyLT.setter 3550 def FcyLT(self, value: float) -> None: 3551 self._Entity.FcyLT = value 3552 3553 @Fsu.setter 3554 def Fsu(self, value: float) -> None: 3555 self._Entity.Fsu = value 3556 3557 @Fbru15.setter 3558 def Fbru15(self, value: float) -> None: 3559 self._Entity.Fbru15 = value 3560 3561 @Fbry15.setter 3562 def Fbry15(self, value: float) -> None: 3563 self._Entity.Fbry15 = value 3564 3565 @Fbru20.setter 3566 def Fbru20(self, value: float) -> None: 3567 self._Entity.Fbru20 = value 3568 3569 @Fbry20.setter 3570 def Fbry20(self, value: float) -> None: 3571 self._Entity.Fbry20 = value 3572 3573 @alpha.setter 3574 def alpha(self, value: float) -> None: 3575 self._Entity.alpha = value 3576 3577 @K.setter 3578 def K(self, value: float) -> None: 3579 self._Entity.K = value 3580 3581 @C.setter 3582 def C(self, value: float) -> None: 3583 self._Entity.C = value 3584 3585 @etyL.setter 3586 def etyL(self, value: float) -> None: 3587 self._Entity.etyL = value 3588 3589 @ecyL.setter 3590 def ecyL(self, value: float) -> None: 3591 self._Entity.ecyL = value 3592 3593 @etyLT.setter 3594 def etyLT(self, value: float) -> None: 3595 self._Entity.etyLT = value 3596 3597 @ecyLT.setter 3598 def ecyLT(self, value: float) -> None: 3599 self._Entity.ecyLT = value 3600 3601 @esu.setter 3602 def esu(self, value: float) -> None: 3603 self._Entity.esu = value 3604 3605 @Fpadh.setter 3606 def Fpadh(self, value: float) -> None: 3607 self._Entity.Fpadh = value 3608 3609 @Fsadh.setter 3610 def Fsadh(self, value: float) -> None: 3611 self._Entity.Fsadh = value 3612 3613 @esadh.setter 3614 def esadh(self, value: float) -> None: 3615 self._Entity.esadh = value 3616 3617 @cd.setter 3618 def cd(self, value: float) -> None: 3619 self._Entity.cd = value 3620 3621 @Ffwt.setter 3622 def Ffwt(self, value: float) -> None: 3623 self._Entity.Ffwt = value 3624 3625 @Ffxz.setter 3626 def Ffxz(self, value: float) -> None: 3627 self._Entity.Ffxz = value 3628 3629 @Ffyz.setter 3630 def Ffyz(self, value: float) -> None: 3631 self._Entity.Ffyz = value 3632 3633 @FtFatigue.setter 3634 def FtFatigue(self, value: float) -> None: 3635 self._Entity.FtFatigue = value 3636 3637 @FcFatigue.setter 3638 def FcFatigue(self, value: float) -> None: 3639 self._Entity.FcFatigue = value
Isotropic material temperature dependent properties.
3642class Isotropic: 3643 ''' 3644 Isotropic material. 3645 ''' 3646 def __init__(self, isotropic: _api.Isotropic): 3647 self._Entity = isotropic 3648 3649 @property 3650 def MaterialFamilyName(self) -> str: 3651 return self._Entity.MaterialFamilyName 3652 3653 @property 3654 def Id(self) -> int: 3655 return self._Entity.Id 3656 3657 @property 3658 def CreationDate(self) -> DateTime: 3659 return self._Entity.CreationDate 3660 3661 @property 3662 def ModificationDate(self) -> DateTime: 3663 return self._Entity.ModificationDate 3664 3665 @property 3666 def Name(self) -> str: 3667 return self._Entity.Name 3668 3669 @property 3670 def Form(self) -> str: 3671 return self._Entity.Form 3672 3673 @property 3674 def Specification(self) -> str: 3675 return self._Entity.Specification 3676 3677 @property 3678 def Temper(self) -> str: 3679 return self._Entity.Temper 3680 3681 @property 3682 def Basis(self) -> str: 3683 return self._Entity.Basis 3684 3685 @property 3686 def Density(self) -> float: 3687 return self._Entity.Density 3688 3689 @property 3690 def MaterialDescription(self) -> str: 3691 return self._Entity.MaterialDescription 3692 3693 @property 3694 def UserNote(self) -> str: 3695 return self._Entity.UserNote 3696 3697 @property 3698 def FemMaterialId(self) -> int: 3699 return self._Entity.FemMaterialId 3700 3701 @property 3702 def Cost(self) -> float: 3703 return self._Entity.Cost 3704 3705 @property 3706 def BucklingStiffnessKnockdown(self) -> float: 3707 return self._Entity.BucklingStiffnessKnockdown 3708 3709 @property 3710 def IsotropicTemperatureProperties(self) -> list[IsotropicTemperature]: 3711 return [IsotropicTemperature(isotropicTemperature) for isotropicTemperature in self._Entity.IsotropicTemperatureProperties] 3712 3713 @MaterialFamilyName.setter 3714 def MaterialFamilyName(self, value: str) -> None: 3715 self._Entity.MaterialFamilyName = value 3716 3717 @Name.setter 3718 def Name(self, value: str) -> None: 3719 self._Entity.Name = value 3720 3721 @Form.setter 3722 def Form(self, value: str) -> None: 3723 self._Entity.Form = value 3724 3725 @Specification.setter 3726 def Specification(self, value: str) -> None: 3727 self._Entity.Specification = value 3728 3729 @Temper.setter 3730 def Temper(self, value: str) -> None: 3731 self._Entity.Temper = value 3732 3733 @Basis.setter 3734 def Basis(self, value: str) -> None: 3735 self._Entity.Basis = value 3736 3737 @Density.setter 3738 def Density(self, value: float) -> None: 3739 self._Entity.Density = value 3740 3741 @MaterialDescription.setter 3742 def MaterialDescription(self, value: str) -> None: 3743 self._Entity.MaterialDescription = value 3744 3745 @UserNote.setter 3746 def UserNote(self, value: str) -> None: 3747 self._Entity.UserNote = value 3748 3749 @FemMaterialId.setter 3750 def FemMaterialId(self, value: int) -> None: 3751 self._Entity.FemMaterialId = value 3752 3753 @Cost.setter 3754 def Cost(self, value: float) -> None: 3755 self._Entity.Cost = value 3756 3757 @BucklingStiffnessKnockdown.setter 3758 def BucklingStiffnessKnockdown(self, value: float) -> None: 3759 self._Entity.BucklingStiffnessKnockdown = value 3760 3761 def AddTemperatureProperty(self, temperature: float, et: float, ec: float, g: float, ftuL: float, ftyL: float, fcyL: float, ftuLT: float, ftyLT: float, fcyLT: float, fsu: float, alpha: float, n: float = None, f02: float = None, k: float = None, c: float = None, fbru15: float = None, fbry15: float = None, fbru20: float = None, fbry20: float = None, etyL: float = None, ecyL: float = None, etyLT: float = None, ecyLT: float = None, esu: float = None, fpadh: float = None, fsadh: float = None, esadh: float = None, cd: float = None, ffwt: float = None, ffxz: float = None, ffyz: float = None, ftFatigue: float = None, fcFatigue: float = None) -> IsotropicTemperature: 3762 return IsotropicTemperature(self._Entity.AddTemperatureProperty(temperature, et, ec, g, ftuL, ftyL, fcyL, ftuLT, ftyLT, fcyLT, fsu, alpha, n, f02, k, c, fbru15, fbry15, fbru20, fbry20, etyL, ecyL, etyLT, ecyLT, esu, fpadh, fsadh, esadh, cd, ffwt, ffxz, ffyz, ftFatigue, fcFatigue)) 3763 3764 def DeleteTemperatureProperty(self, temperature: float) -> bool: 3765 ''' 3766 Deletes a temperature-dependent property for a material. 3767 ''' 3768 return self._Entity.DeleteTemperatureProperty(temperature) 3769 3770 def GetTemperature(self, lookupTemperature: float) -> IsotropicTemperature: 3771 ''' 3772 Retrieve a Temperature from this material's temperature-dependent properties. Allows a degree of tolerance to avoid issues with floating point numbers. 3773 :param LookupTemperature: Temperature to search for. 3774 ''' 3775 return IsotropicTemperature(self._Entity.GetTemperature(lookupTemperature)) 3776 3777 def Save(self) -> None: 3778 ''' 3779 Save any changes to this isotropic material to the database. 3780 ''' 3781 return self._Entity.Save()
Isotropic material.
3761 def AddTemperatureProperty(self, temperature: float, et: float, ec: float, g: float, ftuL: float, ftyL: float, fcyL: float, ftuLT: float, ftyLT: float, fcyLT: float, fsu: float, alpha: float, n: float = None, f02: float = None, k: float = None, c: float = None, fbru15: float = None, fbry15: float = None, fbru20: float = None, fbry20: float = None, etyL: float = None, ecyL: float = None, etyLT: float = None, ecyLT: float = None, esu: float = None, fpadh: float = None, fsadh: float = None, esadh: float = None, cd: float = None, ffwt: float = None, ffxz: float = None, ffyz: float = None, ftFatigue: float = None, fcFatigue: float = None) -> IsotropicTemperature: 3762 return IsotropicTemperature(self._Entity.AddTemperatureProperty(temperature, et, ec, g, ftuL, ftyL, fcyL, ftuLT, ftyLT, fcyLT, fsu, alpha, n, f02, k, c, fbru15, fbry15, fbru20, fbry20, etyL, ecyL, etyLT, ecyLT, esu, fpadh, fsadh, esadh, cd, ffwt, ffxz, ffyz, ftFatigue, fcFatigue))
3764 def DeleteTemperatureProperty(self, temperature: float) -> bool: 3765 ''' 3766 Deletes a temperature-dependent property for a material. 3767 ''' 3768 return self._Entity.DeleteTemperatureProperty(temperature)
Deletes a temperature-dependent property for a material.
3770 def GetTemperature(self, lookupTemperature: float) -> IsotropicTemperature: 3771 ''' 3772 Retrieve a Temperature from this material's temperature-dependent properties. Allows a degree of tolerance to avoid issues with floating point numbers. 3773 :param LookupTemperature: Temperature to search for. 3774 ''' 3775 return IsotropicTemperature(self._Entity.GetTemperature(lookupTemperature))
Retrieve a Temperature from this material's temperature-dependent properties. Allows a degree of tolerance to avoid issues with floating point numbers.
Parameters
- LookupTemperature: Temperature to search for.
3784class LaminateBase(ABC): 3785 def __init__(self, laminateBase: _api.LaminateBase): 3786 self._Entity = laminateBase 3787 3788 @property 3789 def Id(self) -> int: 3790 return self._Entity.Id 3791 3792 @property 3793 def Name(self) -> str: 3794 return self._Entity.Name 3795 3796 @property 3797 def IsEditable(self) -> bool: 3798 return self._Entity.IsEditable 3799 3800 @property 3801 def MaterialFamilyName(self) -> str: 3802 return self._Entity.MaterialFamilyName 3803 3804 @property 3805 def LayerCount(self) -> int: 3806 return self._Entity.LayerCount 3807 3808 @property 3809 def Density(self) -> float: 3810 return self._Entity.Density 3811 3812 @property 3813 def Thickness(self) -> float: 3814 return self._Entity.Thickness 3815 3816 @property 3817 def LaminateFamilyId(self) -> int: 3818 return self._Entity.LaminateFamilyId 3819 3820 @property 3821 def LaminateFamilyOrder(self) -> int: 3822 return self._Entity.LaminateFamilyOrder 3823 3824 @property 3825 def HyperLaminate(self) -> bool: 3826 return self._Entity.HyperLaminate 3827 3828 @Name.setter 3829 def Name(self, value: str) -> None: 3830 self._Entity.Name = value 3831 3832 @MaterialFamilyName.setter 3833 def MaterialFamilyName(self, value: str) -> None: 3834 self._Entity.MaterialFamilyName = value 3835 3836 @abstractmethod 3837 def Save(self) -> None: 3838 ''' 3839 Save the laminate. 3840 ''' 3841 return self._Entity.Save()
3844class LaminateFamily(IdNameEntity): 3845 def __init__(self, laminateFamily: _api.LaminateFamily): 3846 self._Entity = laminateFamily 3847 3848 @property 3849 def Laminates(self) -> list[LaminateBase]: 3850 return [LaminateBase(laminateBase) for laminateBase in self._Entity.Laminates] 3851 3852 @property 3853 def ModificationDate(self) -> DateTime: 3854 return self._Entity.ModificationDate 3855 3856 @property 3857 def PlankSetting(self) -> types.LaminateFamilySettingType: 3858 return types.LaminateFamilySettingType[self._Entity.PlankSetting.ToString()] 3859 3860 @property 3861 def PlankMinRatio(self) -> float: 3862 return self._Entity.PlankMinRatio 3863 3864 @property 3865 def PlankMaxRatio(self) -> float: 3866 return self._Entity.PlankMaxRatio 3867 3868 @property 3869 def FootChargeSetting(self) -> types.LaminateFamilySettingType: 3870 return types.LaminateFamilySettingType[self._Entity.FootChargeSetting.ToString()] 3871 3872 @property 3873 def FootChargeMinRatio(self) -> float: 3874 return self._Entity.FootChargeMinRatio 3875 3876 @property 3877 def FootChargeMaxRatio(self) -> float: 3878 return self._Entity.FootChargeMaxRatio 3879 3880 @property 3881 def WebChargeSetting(self) -> types.LaminateFamilySettingType: 3882 return types.LaminateFamilySettingType[self._Entity.WebChargeSetting.ToString()] 3883 3884 @property 3885 def WebChargeMinRatio(self) -> float: 3886 return self._Entity.WebChargeMinRatio 3887 3888 @property 3889 def WebChargeMaxRatio(self) -> float: 3890 return self._Entity.WebChargeMaxRatio 3891 3892 @property 3893 def CapChargeSetting(self) -> types.LaminateFamilySettingType: 3894 return types.LaminateFamilySettingType[self._Entity.CapChargeSetting.ToString()] 3895 3896 @property 3897 def CapChargeMinRatio(self) -> float: 3898 return self._Entity.CapChargeMinRatio 3899 3900 @property 3901 def CapChargeMaxRatio(self) -> float: 3902 return self._Entity.CapChargeMaxRatio 3903 3904 @property 3905 def CapCoverSetting(self) -> types.LaminateFamilySettingType: 3906 return types.LaminateFamilySettingType[self._Entity.CapCoverSetting.ToString()] 3907 3908 @property 3909 def CapCoverMinRatio(self) -> float: 3910 return self._Entity.CapCoverMinRatio 3911 3912 @property 3913 def CapCoverMaxRatio(self) -> float: 3914 return self._Entity.CapCoverMaxRatio 3915 3916 @property 3917 def DropPattern(self) -> types.PlyDropPattern: 3918 return types.PlyDropPattern[self._Entity.DropPattern.ToString()] 3919 3920 @property 3921 def LaminateStiffenerProfile(self) -> types.StiffenerProfile: 3922 return types.StiffenerProfile[self._Entity.LaminateStiffenerProfile.ToString()]
Represents an entity with an ID and Name.
Inherited Members
3925class LaminateLayerBase(ABC): 3926 def __init__(self, laminateLayerBase: _api.LaminateLayerBase): 3927 self._Entity = laminateLayerBase 3928 3929 @property 3930 def LayerId(self) -> int: 3931 return self._Entity.LayerId 3932 3933 @property 3934 def LayerMaterial(self) -> str: 3935 return self._Entity.LayerMaterial 3936 3937 @property 3938 def LayerMaterialType(self) -> types.MaterialType: 3939 ''' 3940 Represents a material's type. 3941 ''' 3942 return types.MaterialType[self._Entity.LayerMaterialType.ToString()] 3943 3944 @property 3945 def Angle(self) -> float: 3946 return self._Entity.Angle 3947 3948 @property 3949 def Thickness(self) -> float: 3950 return self._Entity.Thickness 3951 3952 @property 3953 def IsFabric(self) -> bool: 3954 return self._Entity.IsFabric 3955 3956 @Angle.setter 3957 @abstractmethod 3958 def Angle(self, value: float) -> None: 3959 self._Entity.Angle = value 3960 3961 def SetThickness(self, thickness: float) -> None: 3962 ''' 3963 Set the thickness of a layer. 3964 ''' 3965 return self._Entity.SetThickness(thickness) 3966 3967 @overload 3968 def SetMaterial(self, matId: int) -> bool: ... 3969 3970 @overload 3971 def SetMaterial(self, matName: str) -> bool: ... 3972 3973 def SetMaterial(self, item1 = None) -> bool: 3974 if isinstance(item1, int): 3975 return self._Entity.SetMaterial(item1) 3976 3977 if isinstance(item1, str): 3978 return self._Entity.SetMaterial(item1) 3979 3980 return self._Entity.SetMaterial(item1)
3937 @property 3938 def LayerMaterialType(self) -> types.MaterialType: 3939 ''' 3940 Represents a material's type. 3941 ''' 3942 return types.MaterialType[self._Entity.LayerMaterialType.ToString()]
Represents a material's type.
3983class LaminateLayer(LaminateLayerBase): 3984 ''' 3985 Layer in a non-stiffener laminate. 3986 ''' 3987 def __init__(self, laminateLayer: _api.LaminateLayer): 3988 self._Entity = laminateLayer 3989 3990 @property 3991 def LayerId(self) -> int: 3992 return self._Entity.LayerId 3993 3994 @property 3995 def LayerMaterialType(self) -> types.MaterialType: 3996 ''' 3997 Represents a material's type. 3998 ''' 3999 return types.MaterialType[self._Entity.LayerMaterialType.ToString()] 4000 4001 @property 4002 def Angle(self) -> float: 4003 return self._Entity.Angle 4004 4005 @property 4006 def Thickness(self) -> float: 4007 return self._Entity.Thickness 4008 4009 @property 4010 def IsFabric(self) -> bool: 4011 return self._Entity.IsFabric 4012 4013 @Angle.setter 4014 def Angle(self, value: float) -> None: 4015 self._Entity.Angle = value 4016 4017 @overload 4018 def SetMaterial(self, matId: int) -> bool: ... 4019 4020 @overload 4021 def SetMaterial(self, matName: str) -> bool: ... 4022 4023 def SetMaterial(self, item1 = None) -> bool: 4024 if isinstance(item1, int): 4025 return bool(super().SetMaterial(item1)) 4026 4027 if isinstance(item1, str): 4028 return bool(super().SetMaterial(item1)) 4029 4030 return self._Entity.SetMaterial(item1)
Layer in a non-stiffener laminate.
3994 @property 3995 def LayerMaterialType(self) -> types.MaterialType: 3996 ''' 3997 Represents a material's type. 3998 ''' 3999 return types.MaterialType[self._Entity.LayerMaterialType.ToString()]
Represents a material's type.
Inherited Members
4033class Laminate(LaminateBase): 4034 ''' 4035 Laminate 4036 ''' 4037 def __init__(self, laminate: _api.Laminate): 4038 self._Entity = laminate 4039 4040 @property 4041 def Layers(self) -> list[LaminateLayer]: 4042 return [LaminateLayer(laminateLayer) for laminateLayer in self._Entity.Layers] 4043 4044 def AddLayer(self, materialName: str, angle: float, thickness: float = None) -> LaminateLayer: 4045 return LaminateLayer(self._Entity.AddLayer(materialName, angle, thickness)) 4046 4047 def InsertLayer(self, layerId: int, materialName: str, angle: float, thickness: float = None) -> LaminateLayer: 4048 return LaminateLayer(self._Entity.InsertLayer(layerId, materialName, angle, thickness)) 4049 4050 def RemoveLayer(self, layerId: int) -> bool: 4051 ''' 4052 Removes a layer from the laminate. 4053 ''' 4054 return self._Entity.RemoveLayer(layerId) 4055 4056 def Save(self) -> None: 4057 ''' 4058 Save any changes to this laminate material to the database. 4059 ''' 4060 return self._Entity.Save()
Laminate
4050 def RemoveLayer(self, layerId: int) -> bool: 4051 ''' 4052 Removes a layer from the laminate. 4053 ''' 4054 return self._Entity.RemoveLayer(layerId)
Removes a layer from the laminate.
4063class StiffenerLaminateLayer(LaminateLayerBase): 4064 ''' 4065 Stiffener Laminate Layer 4066 ''' 4067 def __init__(self, stiffenerLaminateLayer: _api.StiffenerLaminateLayer): 4068 self._Entity = stiffenerLaminateLayer 4069 4070 @property 4071 def LayerLocations(self) -> list[types.StiffenerLaminateLayerLocation]: 4072 return [types.StiffenerLaminateLayerLocation[stiffenerLaminateLayerLocation.ToString()] for stiffenerLaminateLayerLocation in self._Entity.LayerLocations] 4073 4074 @property 4075 def LayerId(self) -> int: 4076 return self._Entity.LayerId 4077 4078 @property 4079 def LayerMaterialType(self) -> types.MaterialType: 4080 ''' 4081 Represents a material's type. 4082 ''' 4083 return types.MaterialType[self._Entity.LayerMaterialType.ToString()] 4084 4085 @property 4086 def Angle(self) -> float: 4087 return self._Entity.Angle 4088 4089 @property 4090 def Thickness(self) -> float: 4091 return self._Entity.Thickness 4092 4093 @property 4094 def IsFabric(self) -> bool: 4095 return self._Entity.IsFabric 4096 4097 @Angle.setter 4098 def Angle(self, value: float) -> None: 4099 self._Entity.Angle = value 4100 4101 def AddLayerLocation(self, location: types.StiffenerLaminateLayerLocation) -> None: 4102 ''' 4103 Add a layer location to this layer. 4104 ''' 4105 return self._Entity.AddLayerLocation(_types.StiffenerLaminateLayerLocation(location.value)) 4106 4107 def RemoveLayerLocation(self, location: types.StiffenerLaminateLayerLocation) -> bool: 4108 ''' 4109 Remove a layer location from LayerLocations. 4110 ''' 4111 return self._Entity.RemoveLayerLocation(_types.StiffenerLaminateLayerLocation(location.value)) 4112 4113 @overload 4114 def SetMaterial(self, matId: int) -> bool: ... 4115 4116 @overload 4117 def SetMaterial(self, matName: str) -> bool: ... 4118 4119 def SetMaterial(self, item1 = None) -> bool: 4120 if isinstance(item1, int): 4121 return bool(super().SetMaterial(item1)) 4122 4123 if isinstance(item1, str): 4124 return bool(super().SetMaterial(item1)) 4125 4126 return self._Entity.SetMaterial(item1)
Stiffener Laminate Layer
4078 @property 4079 def LayerMaterialType(self) -> types.MaterialType: 4080 ''' 4081 Represents a material's type. 4082 ''' 4083 return types.MaterialType[self._Entity.LayerMaterialType.ToString()]
Represents a material's type.
4101 def AddLayerLocation(self, location: types.StiffenerLaminateLayerLocation) -> None: 4102 ''' 4103 Add a layer location to this layer. 4104 ''' 4105 return self._Entity.AddLayerLocation(_types.StiffenerLaminateLayerLocation(location.value))
Add a layer location to this layer.
4107 def RemoveLayerLocation(self, location: types.StiffenerLaminateLayerLocation) -> bool: 4108 ''' 4109 Remove a layer location from LayerLocations. 4110 ''' 4111 return self._Entity.RemoveLayerLocation(_types.StiffenerLaminateLayerLocation(location.value))
Remove a layer location from LayerLocations.
Inherited Members
4129class StiffenerLaminate(LaminateBase): 4130 ''' 4131 Stiffener Laminate 4132 ''' 4133 def __init__(self, stiffenerLaminate: _api.StiffenerLaminate): 4134 self._Entity = stiffenerLaminate 4135 4136 @property 4137 def Layers(self) -> list[StiffenerLaminateLayer]: 4138 return [StiffenerLaminateLayer(stiffenerLaminateLayer) for stiffenerLaminateLayer in self._Entity.Layers] 4139 4140 @property 4141 def LaminateStiffenerProfile(self) -> types.StiffenerProfile: 4142 return types.StiffenerProfile[self._Entity.LaminateStiffenerProfile.ToString()] 4143 4144 @overload 4145 def AddLayer(self, location: types.StiffenerLaminateLayerLocation, materialName: str, angle: float, thickness: float = None) -> StiffenerLaminateLayer: ... 4146 4147 @overload 4148 def InsertLayer(self, location: types.StiffenerLaminateLayerLocation, layerId: int, materialName: str, angle: float, thickness: float = None) -> StiffenerLaminateLayer: ... 4149 4150 @overload 4151 def AddLayer(self, locations: tuple[types.StiffenerLaminateLayerLocation], materialName: str, angle: float, thickness: float = None) -> StiffenerLaminateLayer: ... 4152 4153 @overload 4154 def InsertLayer(self, locations: tuple[types.StiffenerLaminateLayerLocation], layerId: int, materialName: str, angle: float, thickness: float = None) -> StiffenerLaminateLayer: ... 4155 4156 def RemoveLayer(self, layerId: int) -> bool: 4157 ''' 4158 Remove a layer by layerId. 4159 Note, layerId is 1 indexed. 4160 ''' 4161 return self._Entity.RemoveLayer(layerId) 4162 4163 def Save(self) -> None: 4164 ''' 4165 Save laminate to database. 4166 ''' 4167 return self._Entity.Save() 4168 4169 def AddLayer(self, item1 = None, item2 = None, item3 = None, item4 = None) -> StiffenerLaminateLayer: 4170 if isinstance(item1, types.StiffenerLaminateLayerLocation) and isinstance(item2, str) and isinstance(item3, float) and isinstance(item4, float): 4171 return StiffenerLaminateLayer(self._Entity.AddLayer(_types.StiffenerLaminateLayerLocation(item1.value), item2, item3, item4)) 4172 4173 if isinstance(item1, tuple) and item1 and isinstance(item1[0], types.StiffenerLaminateLayerLocation) and isinstance(item2, str) and isinstance(item3, float) and isinstance(item4, float): 4174 locationsList = List[_types.StiffenerLaminateLayerLocation]() 4175 if item1 is not None: 4176 for thing in item1: 4177 if thing is not None: 4178 locationsList.Add(_types.StiffenerLaminateLayerLocation(thing.value)) 4179 locationsEnumerable = IEnumerable(locationsList) 4180 return StiffenerLaminateLayer(self._Entity.AddLayer(locationsEnumerable, item2, item3, item4)) 4181 4182 return StiffenerLaminateLayer(self._Entity.AddLayer(_types.StiffenerLaminateLayerLocation(item1.value), item2, item3, item4)) 4183 4184 def InsertLayer(self, item1 = None, item2 = None, item3 = None, item4 = None, item5 = None) -> StiffenerLaminateLayer: 4185 if isinstance(item1, types.StiffenerLaminateLayerLocation) and isinstance(item2, int) and isinstance(item3, str) and isinstance(item4, float) and isinstance(item5, float): 4186 return StiffenerLaminateLayer(self._Entity.InsertLayer(_types.StiffenerLaminateLayerLocation(item1.value), item2, item3, item4, item5)) 4187 4188 if isinstance(item1, tuple) and item1 and isinstance(item1[0], types.StiffenerLaminateLayerLocation) and isinstance(item2, int) and isinstance(item3, str) and isinstance(item4, float) and isinstance(item5, float): 4189 locationsList = List[_types.StiffenerLaminateLayerLocation]() 4190 if item1 is not None: 4191 for thing in item1: 4192 if thing is not None: 4193 locationsList.Add(_types.StiffenerLaminateLayerLocation(thing.value)) 4194 locationsEnumerable = IEnumerable(locationsList) 4195 return StiffenerLaminateLayer(self._Entity.InsertLayer(locationsEnumerable, item2, item3, item4, item5)) 4196 4197 return StiffenerLaminateLayer(self._Entity.InsertLayer(_types.StiffenerLaminateLayerLocation(item1.value), item2, item3, item4, item5))
Stiffener Laminate
4169 def AddLayer(self, item1 = None, item2 = None, item3 = None, item4 = None) -> StiffenerLaminateLayer: 4170 if isinstance(item1, types.StiffenerLaminateLayerLocation) and isinstance(item2, str) and isinstance(item3, float) and isinstance(item4, float): 4171 return StiffenerLaminateLayer(self._Entity.AddLayer(_types.StiffenerLaminateLayerLocation(item1.value), item2, item3, item4)) 4172 4173 if isinstance(item1, tuple) and item1 and isinstance(item1[0], types.StiffenerLaminateLayerLocation) and isinstance(item2, str) and isinstance(item3, float) and isinstance(item4, float): 4174 locationsList = List[_types.StiffenerLaminateLayerLocation]() 4175 if item1 is not None: 4176 for thing in item1: 4177 if thing is not None: 4178 locationsList.Add(_types.StiffenerLaminateLayerLocation(thing.value)) 4179 locationsEnumerable = IEnumerable(locationsList) 4180 return StiffenerLaminateLayer(self._Entity.AddLayer(locationsEnumerable, item2, item3, item4)) 4181 4182 return StiffenerLaminateLayer(self._Entity.AddLayer(_types.StiffenerLaminateLayerLocation(item1.value), item2, item3, item4))
4184 def InsertLayer(self, item1 = None, item2 = None, item3 = None, item4 = None, item5 = None) -> StiffenerLaminateLayer: 4185 if isinstance(item1, types.StiffenerLaminateLayerLocation) and isinstance(item2, int) and isinstance(item3, str) and isinstance(item4, float) and isinstance(item5, float): 4186 return StiffenerLaminateLayer(self._Entity.InsertLayer(_types.StiffenerLaminateLayerLocation(item1.value), item2, item3, item4, item5)) 4187 4188 if isinstance(item1, tuple) and item1 and isinstance(item1[0], types.StiffenerLaminateLayerLocation) and isinstance(item2, int) and isinstance(item3, str) and isinstance(item4, float) and isinstance(item5, float): 4189 locationsList = List[_types.StiffenerLaminateLayerLocation]() 4190 if item1 is not None: 4191 for thing in item1: 4192 if thing is not None: 4193 locationsList.Add(_types.StiffenerLaminateLayerLocation(thing.value)) 4194 locationsEnumerable = IEnumerable(locationsList) 4195 return StiffenerLaminateLayer(self._Entity.InsertLayer(locationsEnumerable, item2, item3, item4, item5)) 4196 4197 return StiffenerLaminateLayer(self._Entity.InsertLayer(_types.StiffenerLaminateLayerLocation(item1.value), item2, item3, item4, item5))
4156 def RemoveLayer(self, layerId: int) -> bool: 4157 ''' 4158 Remove a layer by layerId. 4159 Note, layerId is 1 indexed. 4160 ''' 4161 return self._Entity.RemoveLayer(layerId)
Remove a layer by layerId. Note, layerId is 1 indexed.
4200class OrthotropicCorrectionFactorBase(ABC): 4201 ''' 4202 Orthotropic material correction factor. 4203 ''' 4204 def __init__(self, orthotropicCorrectionFactorBase: _api.OrthotropicCorrectionFactorBase): 4205 self._Entity = orthotropicCorrectionFactorBase 4206 4207 @property 4208 def CorrectionId(self) -> types.CorrectionId: 4209 ''' 4210 Correction ID for a correction factor. (Columns in HyperX) 4211 ''' 4212 return types.CorrectionId[self._Entity.CorrectionId.ToString()] 4213 4214 @property 4215 def PropertyId(self) -> types.CorrectionProperty: 4216 ''' 4217 Property name for a correction factor. (Rows in HyperX) 4218 ''' 4219 return types.CorrectionProperty[self._Entity.PropertyId.ToString()]
Orthotropic material correction factor.
4207 @property 4208 def CorrectionId(self) -> types.CorrectionId: 4209 ''' 4210 Correction ID for a correction factor. (Columns in HyperX) 4211 ''' 4212 return types.CorrectionId[self._Entity.CorrectionId.ToString()]
Correction ID for a correction factor. (Columns in HyperX)
4214 @property 4215 def PropertyId(self) -> types.CorrectionProperty: 4216 ''' 4217 Property name for a correction factor. (Rows in HyperX) 4218 ''' 4219 return types.CorrectionProperty[self._Entity.PropertyId.ToString()]
Property name for a correction factor. (Rows in HyperX)
4222class OrthotropicCorrectionFactorPoint: 4223 ''' 4224 Pointer to an Equation-based or Tabular Correction Factor. 4225 ''' 4226 def __init__(self, orthotropicCorrectionFactorPoint: _api.OrthotropicCorrectionFactorPoint): 4227 self._Entity = orthotropicCorrectionFactorPoint 4228 4229 def Create_OrthotropicCorrectionFactorPoint(property: types.CorrectionProperty, id: types.CorrectionId): 4230 return OrthotropicCorrectionFactorPoint(_api.OrthotropicCorrectionFactorPoint(_types.CorrectionProperty(property.value), _types.CorrectionId(id.value))) 4231 4232 @property 4233 def CorrectionProperty(self) -> types.CorrectionProperty: 4234 ''' 4235 Property name for a correction factor. (Rows in HyperX) 4236 ''' 4237 return types.CorrectionProperty[self._Entity.CorrectionProperty.ToString()] 4238 4239 @property 4240 def CorrectionId(self) -> types.CorrectionId: 4241 ''' 4242 Correction ID for a correction factor. (Columns in HyperX) 4243 ''' 4244 return types.CorrectionId[self._Entity.CorrectionId.ToString()] 4245 4246 @overload 4247 def Equals(self, other) -> bool: ... 4248 4249 @overload 4250 def Equals(self, obj) -> bool: ... 4251 4252 def GetHashCode(self) -> int: 4253 return self._Entity.GetHashCode() 4254 4255 def Equals(self, item1 = None) -> bool: 4256 if isinstance(item1, OrthotropicCorrectionFactorPoint): 4257 return self._Entity.Equals(item1._Entity) 4258 4259 return self._Entity.Equals(item1._Entity)
Pointer to an Equation-based or Tabular Correction Factor.
4232 @property 4233 def CorrectionProperty(self) -> types.CorrectionProperty: 4234 ''' 4235 Property name for a correction factor. (Rows in HyperX) 4236 ''' 4237 return types.CorrectionProperty[self._Entity.CorrectionProperty.ToString()]
Property name for a correction factor. (Rows in HyperX)
4239 @property 4240 def CorrectionId(self) -> types.CorrectionId: 4241 ''' 4242 Correction ID for a correction factor. (Columns in HyperX) 4243 ''' 4244 return types.CorrectionId[self._Entity.CorrectionId.ToString()]
Correction ID for a correction factor. (Columns in HyperX)
4262class OrthotropicCorrectionFactorValue: 4263 ''' 4264 Orthotropic material equation-based correction factor value. (NOT TABULAR) 4265 ''' 4266 def __init__(self, orthotropicCorrectionFactorValue: _api.OrthotropicCorrectionFactorValue): 4267 self._Entity = orthotropicCorrectionFactorValue 4268 4269 @property 4270 def Property(self) -> types.CorrectionProperty: 4271 ''' 4272 Property name for a correction factor. (Rows in HyperX) 4273 ''' 4274 return types.CorrectionProperty[self._Entity.Property.ToString()] 4275 4276 @property 4277 def Correction(self) -> types.CorrectionId: 4278 ''' 4279 Correction ID for a correction factor. (Columns in HyperX) 4280 ''' 4281 return types.CorrectionId[self._Entity.Correction.ToString()] 4282 4283 @property 4284 def Equation(self) -> types.CorrectionEquation: 4285 ''' 4286 Equation for a correction factor. 4287 ''' 4288 return types.CorrectionEquation[self._Entity.Equation.ToString()] 4289 4290 @property 4291 def EquationParameter(self) -> types.EquationParameterId: 4292 ''' 4293 Correction factor parameter names. 4294 ''' 4295 return types.EquationParameterId[self._Entity.EquationParameter.ToString()] 4296 4297 @property 4298 def Value(self) -> float: 4299 return self._Entity.Value 4300 4301 @Value.setter 4302 def Value(self, value: float) -> None: 4303 self._Entity.Value = value
Orthotropic material equation-based correction factor value. (NOT TABULAR)
4269 @property 4270 def Property(self) -> types.CorrectionProperty: 4271 ''' 4272 Property name for a correction factor. (Rows in HyperX) 4273 ''' 4274 return types.CorrectionProperty[self._Entity.Property.ToString()]
Property name for a correction factor. (Rows in HyperX)
4276 @property 4277 def Correction(self) -> types.CorrectionId: 4278 ''' 4279 Correction ID for a correction factor. (Columns in HyperX) 4280 ''' 4281 return types.CorrectionId[self._Entity.Correction.ToString()]
Correction ID for a correction factor. (Columns in HyperX)
4283 @property 4284 def Equation(self) -> types.CorrectionEquation: 4285 ''' 4286 Equation for a correction factor. 4287 ''' 4288 return types.CorrectionEquation[self._Entity.Equation.ToString()]
Equation for a correction factor.
4290 @property 4291 def EquationParameter(self) -> types.EquationParameterId: 4292 ''' 4293 Correction factor parameter names. 4294 ''' 4295 return types.EquationParameterId[self._Entity.EquationParameter.ToString()]
Correction factor parameter names.
4306class OrthotropicEquationCorrectionFactor(OrthotropicCorrectionFactorBase): 4307 ''' 4308 Represents an equation-based orthotropic material correction factor. 4309 ''' 4310 def __init__(self, orthotropicEquationCorrectionFactor: _api.OrthotropicEquationCorrectionFactor): 4311 self._Entity = orthotropicEquationCorrectionFactor 4312 4313 @property 4314 def Equation(self) -> types.CorrectionEquation: 4315 ''' 4316 Equation for a correction factor. 4317 ''' 4318 return types.CorrectionEquation[self._Entity.Equation.ToString()] 4319 4320 @property 4321 def OrthotropicCorrectionValues(self) -> dict[types.EquationParameterId, OrthotropicCorrectionFactorValue]: 4322 orthotropicCorrectionValuesDict = {} 4323 for kvp in self._Entity.OrthotropicCorrectionValues: 4324 orthotropicCorrectionValuesDict[types.EquationParameterId[kvp.Key.ToString()]] = OrthotropicCorrectionFactorValue(kvp.Value) 4325 4326 return orthotropicCorrectionValuesDict 4327 4328 def AddCorrectionFactorValue(self, equationParameterName: types.EquationParameterId, valueToAdd: float) -> OrthotropicCorrectionFactorValue: 4329 ''' 4330 Add a correction factor value for a given correction factor. 4331 :param equationParameterName: This represents the parameter of the equation that should be changed. 4332 :param valueToAdd: This is the value that will be assigned to the chosen parameter. 4333 ''' 4334 return OrthotropicCorrectionFactorValue(self._Entity.AddCorrectionFactorValue(_types.EquationParameterId(equationParameterName.value), valueToAdd))
Represents an equation-based orthotropic material correction factor.
4313 @property 4314 def Equation(self) -> types.CorrectionEquation: 4315 ''' 4316 Equation for a correction factor. 4317 ''' 4318 return types.CorrectionEquation[self._Entity.Equation.ToString()]
Equation for a correction factor.
4320 @property 4321 def OrthotropicCorrectionValues(self) -> dict[types.EquationParameterId, OrthotropicCorrectionFactorValue]: 4322 orthotropicCorrectionValuesDict = {} 4323 for kvp in self._Entity.OrthotropicCorrectionValues: 4324 orthotropicCorrectionValuesDict[types.EquationParameterId[kvp.Key.ToString()]] = OrthotropicCorrectionFactorValue(kvp.Value) 4325 4326 return orthotropicCorrectionValuesDict
4328 def AddCorrectionFactorValue(self, equationParameterName: types.EquationParameterId, valueToAdd: float) -> OrthotropicCorrectionFactorValue: 4329 ''' 4330 Add a correction factor value for a given correction factor. 4331 :param equationParameterName: This represents the parameter of the equation that should be changed. 4332 :param valueToAdd: This is the value that will be assigned to the chosen parameter. 4333 ''' 4334 return OrthotropicCorrectionFactorValue(self._Entity.AddCorrectionFactorValue(_types.EquationParameterId(equationParameterName.value), valueToAdd))
Add a correction factor value for a given correction factor.
Parameters
- equationParameterName: This represents the parameter of the equation that should be changed.
- valueToAdd: This is the value that will be assigned to the chosen parameter.
Inherited Members
4337class TabularCorrectionFactorIndependentValue: 4338 ''' 4339 Contains an independent value for a tabular correction factor row. 4340 ''' 4341 def __init__(self, tabularCorrectionFactorIndependentValue: _api.TabularCorrectionFactorIndependentValue): 4342 self._Entity = tabularCorrectionFactorIndependentValue 4343 4344 @property 4345 def BoolValue(self) -> bool: 4346 return self._Entity.BoolValue 4347 4348 @property 4349 def DoubleValue(self) -> float: 4350 return self._Entity.DoubleValue 4351 4352 @property 4353 def IntValue(self) -> int: 4354 return self._Entity.IntValue 4355 4356 @property 4357 def ValueType(self) -> types.CorrectionValueType: 4358 ''' 4359 Defines the type of the independent values on a tabular correction factor row. 4360 ''' 4361 return types.CorrectionValueType[self._Entity.ValueType.ToString()]
Contains an independent value for a tabular correction factor row.
4356 @property 4357 def ValueType(self) -> types.CorrectionValueType: 4358 ''' 4359 Defines the type of the independent values on a tabular correction factor row. 4360 ''' 4361 return types.CorrectionValueType[self._Entity.ValueType.ToString()]
Defines the type of the independent values on a tabular correction factor row.
4364class TabularCorrectionFactorRow: 4365 ''' 4366 Row data for a tabular correction factor. 4367 ''' 4368 def __init__(self, tabularCorrectionFactorRow: _api.TabularCorrectionFactorRow): 4369 self._Entity = tabularCorrectionFactorRow 4370 4371 @property 4372 def DependentValue(self) -> float: 4373 return self._Entity.DependentValue 4374 4375 @property 4376 def IndependentValues(self) -> dict[types.CorrectionIndependentDefinition, TabularCorrectionFactorIndependentValue]: 4377 independentValuesDict = {} 4378 for kvp in self._Entity.IndependentValues: 4379 independentValuesDict[types.CorrectionIndependentDefinition[kvp.Key.ToString()]] = TabularCorrectionFactorIndependentValue(kvp.Value) 4380 4381 return independentValuesDict
Row data for a tabular correction factor.
4375 @property 4376 def IndependentValues(self) -> dict[types.CorrectionIndependentDefinition, TabularCorrectionFactorIndependentValue]: 4377 independentValuesDict = {} 4378 for kvp in self._Entity.IndependentValues: 4379 independentValuesDict[types.CorrectionIndependentDefinition[kvp.Key.ToString()]] = TabularCorrectionFactorIndependentValue(kvp.Value) 4380 4381 return independentValuesDict
4384class OrthotropicTabularCorrectionFactor(OrthotropicCorrectionFactorBase): 4385 ''' 4386 Tabular correction factor. 4387 ''' 4388 def __init__(self, orthotropicTabularCorrectionFactor: _api.OrthotropicTabularCorrectionFactor): 4389 self._Entity = orthotropicTabularCorrectionFactor 4390 4391 @property 4392 def CorrectionFactorRows(self) -> dict[int, TabularCorrectionFactorRow]: 4393 correctionFactorRowsDict = {} 4394 for kvp in self._Entity.CorrectionFactorRows: 4395 correctionFactorRowsDict[int(kvp.Key)] = TabularCorrectionFactorRow(kvp.Value) 4396 4397 return correctionFactorRowsDict 4398 4399 @property 4400 def CorrectionIndependentDefinitions(self) -> set[types.CorrectionIndependentDefinition]: 4401 return {types.CorrectionIndependentDefinition(correctionIndependentDefinition) for correctionIndependentDefinition in self._Entity.CorrectionIndependentDefinitions} 4402 4403 @overload 4404 def SetIndependentValue(self, correctionPointId: int, cid: types.CorrectionIndependentDefinition, value: float) -> None: ... 4405 4406 @overload 4407 def SetIndependentValue(self, correctionPointId: int, cid: types.CorrectionIndependentDefinition, value: bool) -> None: ... 4408 4409 @overload 4410 def SetIndependentValue(self, correctionPointId: int, cid: types.CorrectionIndependentDefinition, value: int) -> None: ... 4411 4412 def SetKValue(self, correctionPointId: int, value: float) -> None: 4413 ''' 4414 Set the dependent value for a specified row. 4415 ''' 4416 return self._Entity.SetKValue(correctionPointId, value) 4417 4418 def SetIndependentValue(self, item1 = None, item2 = None, item3 = None) -> None: 4419 if isinstance(item1, int) and isinstance(item2, types.CorrectionIndependentDefinition) and isinstance(item3, float): 4420 return self._Entity.SetIndependentValue(item1, _types.CorrectionIndependentDefinition(item2.value), item3) 4421 4422 if isinstance(item1, int) and isinstance(item2, types.CorrectionIndependentDefinition) and isinstance(item3, bool): 4423 return self._Entity.SetIndependentValue(item1, _types.CorrectionIndependentDefinition(item2.value), item3) 4424 4425 if isinstance(item1, int) and isinstance(item2, types.CorrectionIndependentDefinition) and isinstance(item3, int): 4426 return self._Entity.SetIndependentValue(item1, _types.CorrectionIndependentDefinition(item2.value), item3) 4427 4428 return self._Entity.SetIndependentValue(item1, _types.CorrectionIndependentDefinition(item2.value), item3)
Tabular correction factor.
4391 @property 4392 def CorrectionFactorRows(self) -> dict[int, TabularCorrectionFactorRow]: 4393 correctionFactorRowsDict = {} 4394 for kvp in self._Entity.CorrectionFactorRows: 4395 correctionFactorRowsDict[int(kvp.Key)] = TabularCorrectionFactorRow(kvp.Value) 4396 4397 return correctionFactorRowsDict
4418 def SetIndependentValue(self, item1 = None, item2 = None, item3 = None) -> None: 4419 if isinstance(item1, int) and isinstance(item2, types.CorrectionIndependentDefinition) and isinstance(item3, float): 4420 return self._Entity.SetIndependentValue(item1, _types.CorrectionIndependentDefinition(item2.value), item3) 4421 4422 if isinstance(item1, int) and isinstance(item2, types.CorrectionIndependentDefinition) and isinstance(item3, bool): 4423 return self._Entity.SetIndependentValue(item1, _types.CorrectionIndependentDefinition(item2.value), item3) 4424 4425 if isinstance(item1, int) and isinstance(item2, types.CorrectionIndependentDefinition) and isinstance(item3, int): 4426 return self._Entity.SetIndependentValue(item1, _types.CorrectionIndependentDefinition(item2.value), item3) 4427 4428 return self._Entity.SetIndependentValue(item1, _types.CorrectionIndependentDefinition(item2.value), item3)
4412 def SetKValue(self, correctionPointId: int, value: float) -> None: 4413 ''' 4414 Set the dependent value for a specified row. 4415 ''' 4416 return self._Entity.SetKValue(correctionPointId, value)
Set the dependent value for a specified row.
Inherited Members
4431class OrthotropicAllowableCurvePoint: 4432 ''' 4433 Represents a point on a laminate allowable curve. 4434 ''' 4435 def __init__(self, orthotropicAllowableCurvePoint: _api.OrthotropicAllowableCurvePoint): 4436 self._Entity = orthotropicAllowableCurvePoint 4437 4438 @property 4439 def Property_ID(self) -> types.AllowablePropertyName: 4440 ''' 4441 Property name for a laminate allowable. 4442 ''' 4443 return types.AllowablePropertyName[self._Entity.Property_ID.ToString()] 4444 4445 @property 4446 def Temperature(self) -> float: 4447 return self._Entity.Temperature 4448 4449 @property 4450 def X(self) -> float: 4451 return self._Entity.X 4452 4453 @property 4454 def Y(self) -> float: 4455 return self._Entity.Y 4456 4457 @Property_ID.setter 4458 def Property_ID(self, value: types.AllowablePropertyName) -> None: 4459 self._Entity.Property_ID = _types.AllowablePropertyName(value.value) 4460 4461 @Temperature.setter 4462 def Temperature(self, value: float) -> None: 4463 self._Entity.Temperature = value 4464 4465 @X.setter 4466 def X(self, value: float) -> None: 4467 self._Entity.X = value 4468 4469 @Y.setter 4470 def Y(self, value: float) -> None: 4471 self._Entity.Y = value
Represents a point on a laminate allowable curve.
4438 @property 4439 def Property_ID(self) -> types.AllowablePropertyName: 4440 ''' 4441 Property name for a laminate allowable. 4442 ''' 4443 return types.AllowablePropertyName[self._Entity.Property_ID.ToString()]
Property name for a laminate allowable.
4474class OrthotropicEffectiveLaminate: 4475 ''' 4476 Orthotropic material effective laminate properties. Read-only from the API. 4477 Check if material is an effective laminate with orthotropic.IsEffectiveLaminate. 4478 ''' 4479 def __init__(self, orthotropicEffectiveLaminate: _api.OrthotropicEffectiveLaminate): 4480 self._Entity = orthotropicEffectiveLaminate 4481 4482 @property 4483 def Percent_tape_0(self) -> float: 4484 return self._Entity.Percent_tape_0 4485 4486 @property 4487 def Percent_tape_90(self) -> float: 4488 return self._Entity.Percent_tape_90 4489 4490 @property 4491 def Percent_tape_45(self) -> float: 4492 return self._Entity.Percent_tape_45 4493 4494 @property 4495 def Percent_fabric_0(self) -> float: 4496 return self._Entity.Percent_fabric_0 4497 4498 @property 4499 def Percent_fabric_90(self) -> float: 4500 return self._Entity.Percent_fabric_90 4501 4502 @property 4503 def Percent_fabric_45(self) -> float: 4504 return self._Entity.Percent_fabric_45 4505 4506 @property 4507 def Tape_Orthotropic(self) -> str: 4508 return self._Entity.Tape_Orthotropic 4509 4510 @property 4511 def Fabric_Orthotropic(self) -> str: 4512 return self._Entity.Fabric_Orthotropic 4513 4514 @property 4515 def Valid(self) -> bool: 4516 return self._Entity.Valid 4517 4518 @property 4519 def Use_tape_allowables(self) -> bool: 4520 return self._Entity.Use_tape_allowables
Orthotropic material effective laminate properties. Read-only from the API. Check if material is an effective laminate with orthotropic.IsEffectiveLaminate.
4523class OrthotropicLaminateAllowable: 4524 ''' 4525 Orthotropic material laminate allowable properties. 4526 ''' 4527 def __init__(self, orthotropicLaminateAllowable: _api.OrthotropicLaminateAllowable): 4528 self._Entity = orthotropicLaminateAllowable 4529 4530 @property 4531 def Property_ID(self) -> types.AllowablePropertyName: 4532 ''' 4533 Property name for a laminate allowable. 4534 ''' 4535 return types.AllowablePropertyName[self._Entity.Property_ID.ToString()] 4536 4537 @property 4538 def Method_ID(self) -> types.AllowableMethodName: 4539 ''' 4540 Method name for a laminate allowable. 4541 ''' 4542 return types.AllowableMethodName[self._Entity.Method_ID.ToString()] 4543 4544 @Property_ID.setter 4545 def Property_ID(self, value: types.AllowablePropertyName) -> None: 4546 self._Entity.Property_ID = _types.AllowablePropertyName(value.value) 4547 4548 @Method_ID.setter 4549 def Method_ID(self, value: types.AllowableMethodName) -> None: 4550 self._Entity.Method_ID = _types.AllowableMethodName(value.value)
Orthotropic material laminate allowable properties.
4530 @property 4531 def Property_ID(self) -> types.AllowablePropertyName: 4532 ''' 4533 Property name for a laminate allowable. 4534 ''' 4535 return types.AllowablePropertyName[self._Entity.Property_ID.ToString()]
Property name for a laminate allowable.
4553class OrthotropicTemperature: 4554 ''' 4555 Orthotropic material temperature dependent properties. 4556 ''' 4557 def __init__(self, orthotropicTemperature: _api.OrthotropicTemperature): 4558 self._Entity = orthotropicTemperature 4559 4560 @property 4561 def Temperature(self) -> float: 4562 return self._Entity.Temperature 4563 4564 @property 4565 def Et1(self) -> float: 4566 return self._Entity.Et1 4567 4568 @property 4569 def Et2(self) -> float: 4570 return self._Entity.Et2 4571 4572 @property 4573 def vt12(self) -> float: 4574 return self._Entity.vt12 4575 4576 @property 4577 def Ec1(self) -> float: 4578 return self._Entity.Ec1 4579 4580 @property 4581 def Ec2(self) -> float: 4582 return self._Entity.Ec2 4583 4584 @property 4585 def vc12(self) -> float: 4586 return self._Entity.vc12 4587 4588 @property 4589 def G12(self) -> float: 4590 return self._Entity.G12 4591 4592 @property 4593 def G13(self) -> float: 4594 return self._Entity.G13 4595 4596 @property 4597 def G23(self) -> float: 4598 return self._Entity.G23 4599 4600 @property 4601 def Ftu1(self) -> float: 4602 return self._Entity.Ftu1 4603 4604 @property 4605 def Ftu2(self) -> float: 4606 return self._Entity.Ftu2 4607 4608 @property 4609 def Fcu1(self) -> float: 4610 return self._Entity.Fcu1 4611 4612 @property 4613 def Fcu2(self) -> float: 4614 return self._Entity.Fcu2 4615 4616 @property 4617 def Fsu12(self) -> float: 4618 return self._Entity.Fsu12 4619 4620 @property 4621 def Fsu13(self) -> float: 4622 return self._Entity.Fsu13 4623 4624 @property 4625 def Fsu23(self) -> float: 4626 return self._Entity.Fsu23 4627 4628 @property 4629 def GIc(self) -> float: 4630 return self._Entity.GIc 4631 4632 @property 4633 def alpha1(self) -> float: 4634 return self._Entity.alpha1 4635 4636 @property 4637 def alpha2(self) -> float: 4638 return self._Entity.alpha2 4639 4640 @property 4641 def K1(self) -> float: 4642 return self._Entity.K1 4643 4644 @property 4645 def K2(self) -> float: 4646 return self._Entity.K2 4647 4648 @property 4649 def C(self) -> float: 4650 return self._Entity.C 4651 4652 @property 4653 def etu1(self) -> float: 4654 return self._Entity.etu1 4655 4656 @property 4657 def etu2(self) -> float: 4658 return self._Entity.etu2 4659 4660 @property 4661 def ecu1(self) -> float: 4662 return self._Entity.ecu1 4663 4664 @property 4665 def ecu2(self) -> float: 4666 return self._Entity.ecu2 4667 4668 @property 4669 def ecuoh(self) -> float: 4670 return self._Entity.ecuoh 4671 4672 @property 4673 def ecuai(self) -> float: 4674 return self._Entity.ecuai 4675 4676 @property 4677 def esu12(self) -> float: 4678 return self._Entity.esu12 4679 4680 @property 4681 def Ftu3(self) -> float: 4682 return self._Entity.Ftu3 4683 4684 @property 4685 def GIIc(self) -> float: 4686 return self._Entity.GIIc 4687 4688 @property 4689 def d0Tension(self) -> float: 4690 return self._Entity.d0Tension 4691 4692 @property 4693 def cd(self) -> float: 4694 return self._Entity.cd 4695 4696 @property 4697 def d0Compression(self) -> float: 4698 return self._Entity.d0Compression 4699 4700 @property 4701 def TLt(self) -> float: 4702 return self._Entity.TLt 4703 4704 @property 4705 def TLc(self) -> float: 4706 return self._Entity.TLc 4707 4708 @property 4709 def TTt(self) -> float: 4710 return self._Entity.TTt 4711 4712 @property 4713 def TTc(self) -> float: 4714 return self._Entity.TTc 4715 4716 @property 4717 def OrthotropicAllowableCurvePoints(self) -> list[OrthotropicAllowableCurvePoint]: 4718 return [OrthotropicAllowableCurvePoint(orthotropicAllowableCurvePoint) for orthotropicAllowableCurvePoint in self._Entity.OrthotropicAllowableCurvePoints] 4719 4720 @Temperature.setter 4721 def Temperature(self, value: float) -> None: 4722 self._Entity.Temperature = value 4723 4724 @Et1.setter 4725 def Et1(self, value: float) -> None: 4726 self._Entity.Et1 = value 4727 4728 @Et2.setter 4729 def Et2(self, value: float) -> None: 4730 self._Entity.Et2 = value 4731 4732 @vt12.setter 4733 def vt12(self, value: float) -> None: 4734 self._Entity.vt12 = value 4735 4736 @Ec1.setter 4737 def Ec1(self, value: float) -> None: 4738 self._Entity.Ec1 = value 4739 4740 @Ec2.setter 4741 def Ec2(self, value: float) -> None: 4742 self._Entity.Ec2 = value 4743 4744 @vc12.setter 4745 def vc12(self, value: float) -> None: 4746 self._Entity.vc12 = value 4747 4748 @G12.setter 4749 def G12(self, value: float) -> None: 4750 self._Entity.G12 = value 4751 4752 @G13.setter 4753 def G13(self, value: float) -> None: 4754 self._Entity.G13 = value 4755 4756 @G23.setter 4757 def G23(self, value: float) -> None: 4758 self._Entity.G23 = value 4759 4760 @Ftu1.setter 4761 def Ftu1(self, value: float) -> None: 4762 self._Entity.Ftu1 = value 4763 4764 @Ftu2.setter 4765 def Ftu2(self, value: float) -> None: 4766 self._Entity.Ftu2 = value 4767 4768 @Fcu1.setter 4769 def Fcu1(self, value: float) -> None: 4770 self._Entity.Fcu1 = value 4771 4772 @Fcu2.setter 4773 def Fcu2(self, value: float) -> None: 4774 self._Entity.Fcu2 = value 4775 4776 @Fsu12.setter 4777 def Fsu12(self, value: float) -> None: 4778 self._Entity.Fsu12 = value 4779 4780 @Fsu13.setter 4781 def Fsu13(self, value: float) -> None: 4782 self._Entity.Fsu13 = value 4783 4784 @Fsu23.setter 4785 def Fsu23(self, value: float) -> None: 4786 self._Entity.Fsu23 = value 4787 4788 @GIc.setter 4789 def GIc(self, value: float) -> None: 4790 self._Entity.GIc = value 4791 4792 @alpha1.setter 4793 def alpha1(self, value: float) -> None: 4794 self._Entity.alpha1 = value 4795 4796 @alpha2.setter 4797 def alpha2(self, value: float) -> None: 4798 self._Entity.alpha2 = value 4799 4800 @K1.setter 4801 def K1(self, value: float) -> None: 4802 self._Entity.K1 = value 4803 4804 @K2.setter 4805 def K2(self, value: float) -> None: 4806 self._Entity.K2 = value 4807 4808 @C.setter 4809 def C(self, value: float) -> None: 4810 self._Entity.C = value 4811 4812 @etu1.setter 4813 def etu1(self, value: float) -> None: 4814 self._Entity.etu1 = value 4815 4816 @etu2.setter 4817 def etu2(self, value: float) -> None: 4818 self._Entity.etu2 = value 4819 4820 @ecu1.setter 4821 def ecu1(self, value: float) -> None: 4822 self._Entity.ecu1 = value 4823 4824 @ecu2.setter 4825 def ecu2(self, value: float) -> None: 4826 self._Entity.ecu2 = value 4827 4828 @ecuoh.setter 4829 def ecuoh(self, value: float) -> None: 4830 self._Entity.ecuoh = value 4831 4832 @ecuai.setter 4833 def ecuai(self, value: float) -> None: 4834 self._Entity.ecuai = value 4835 4836 @esu12.setter 4837 def esu12(self, value: float) -> None: 4838 self._Entity.esu12 = value 4839 4840 @Ftu3.setter 4841 def Ftu3(self, value: float) -> None: 4842 self._Entity.Ftu3 = value 4843 4844 @GIIc.setter 4845 def GIIc(self, value: float) -> None: 4846 self._Entity.GIIc = value 4847 4848 @d0Tension.setter 4849 def d0Tension(self, value: float) -> None: 4850 self._Entity.d0Tension = value 4851 4852 @cd.setter 4853 def cd(self, value: float) -> None: 4854 self._Entity.cd = value 4855 4856 @d0Compression.setter 4857 def d0Compression(self, value: float) -> None: 4858 self._Entity.d0Compression = value 4859 4860 @TLt.setter 4861 def TLt(self, value: float) -> None: 4862 self._Entity.TLt = value 4863 4864 @TLc.setter 4865 def TLc(self, value: float) -> None: 4866 self._Entity.TLc = value 4867 4868 @TTt.setter 4869 def TTt(self, value: float) -> None: 4870 self._Entity.TTt = value 4871 4872 @TTc.setter 4873 def TTc(self, value: float) -> None: 4874 self._Entity.TTc = value 4875 4876 def AddCurvePoint(self, property: types.AllowablePropertyName, x: float, y: float) -> OrthotropicAllowableCurvePoint: 4877 ''' 4878 Add a curve point to a laminate allowable curve. 4879 :param x: x represents an x-value (for a non-polynomial method) or an allowable polynomial coefficient (represented by an enum). 4880 ''' 4881 return OrthotropicAllowableCurvePoint(self._Entity.AddCurvePoint(_types.AllowablePropertyName(property.value), x, y)) 4882 4883 def DeleteCurvePoint(self, property: types.AllowablePropertyName, x: float) -> bool: 4884 ''' 4885 Deletes a temperature-dependent property for a material. 4886 :param x: x represents an x-value (for a non-polynomial method) or an allowable polynomial coefficient (represented by an enum). 4887 ''' 4888 return self._Entity.DeleteCurvePoint(_types.AllowablePropertyName(property.value), x) 4889 4890 def GetCurvePoint(self, property: types.AllowablePropertyName, x: float) -> OrthotropicAllowableCurvePoint: 4891 ''' 4892 Retrieve an allowable curve point from this temperature's allowable curve points. 4893 :param x: x represents an x-value (for a non-polynomial method) or an allowable polynomial coefficient (represented by an enum). 4894 ''' 4895 return OrthotropicAllowableCurvePoint(self._Entity.GetCurvePoint(_types.AllowablePropertyName(property.value), x))
Orthotropic material temperature dependent properties.
4876 def AddCurvePoint(self, property: types.AllowablePropertyName, x: float, y: float) -> OrthotropicAllowableCurvePoint: 4877 ''' 4878 Add a curve point to a laminate allowable curve. 4879 :param x: x represents an x-value (for a non-polynomial method) or an allowable polynomial coefficient (represented by an enum). 4880 ''' 4881 return OrthotropicAllowableCurvePoint(self._Entity.AddCurvePoint(_types.AllowablePropertyName(property.value), x, y))
Add a curve point to a laminate allowable curve.
Parameters
- x: x represents an x-value (for a non-polynomial method) or an allowable polynomial coefficient (represented by an enum).
4883 def DeleteCurvePoint(self, property: types.AllowablePropertyName, x: float) -> bool: 4884 ''' 4885 Deletes a temperature-dependent property for a material. 4886 :param x: x represents an x-value (for a non-polynomial method) or an allowable polynomial coefficient (represented by an enum). 4887 ''' 4888 return self._Entity.DeleteCurvePoint(_types.AllowablePropertyName(property.value), x)
Deletes a temperature-dependent property for a material.
Parameters
- x: x represents an x-value (for a non-polynomial method) or an allowable polynomial coefficient (represented by an enum).
4890 def GetCurvePoint(self, property: types.AllowablePropertyName, x: float) -> OrthotropicAllowableCurvePoint: 4891 ''' 4892 Retrieve an allowable curve point from this temperature's allowable curve points. 4893 :param x: x represents an x-value (for a non-polynomial method) or an allowable polynomial coefficient (represented by an enum). 4894 ''' 4895 return OrthotropicAllowableCurvePoint(self._Entity.GetCurvePoint(_types.AllowablePropertyName(property.value), x))
Retrieve an allowable curve point from this temperature's allowable curve points.
Parameters
- x: x represents an x-value (for a non-polynomial method) or an allowable polynomial coefficient (represented by an enum).
4898class Orthotropic: 4899 ''' 4900 Orthotropic material. 4901 ''' 4902 def __init__(self, orthotropic: _api.Orthotropic): 4903 self._Entity = orthotropic 4904 4905 @property 4906 def MaterialFamilyName(self) -> str: 4907 return self._Entity.MaterialFamilyName 4908 4909 @property 4910 def Id(self) -> int: 4911 return self._Entity.Id 4912 4913 @property 4914 def CreationDate(self) -> DateTime: 4915 return self._Entity.CreationDate 4916 4917 @property 4918 def ModificationDate(self) -> DateTime: 4919 return self._Entity.ModificationDate 4920 4921 @property 4922 def Name(self) -> str: 4923 return self._Entity.Name 4924 4925 @property 4926 def Form(self) -> str: 4927 return self._Entity.Form 4928 4929 @property 4930 def Specification(self) -> str: 4931 return self._Entity.Specification 4932 4933 @property 4934 def Basis(self) -> str: 4935 return self._Entity.Basis 4936 4937 @property 4938 def Wet(self) -> bool: 4939 return self._Entity.Wet 4940 4941 @property 4942 def Thickness(self) -> float: 4943 return self._Entity.Thickness 4944 4945 @property 4946 def Density(self) -> float: 4947 return self._Entity.Density 4948 4949 @property 4950 def FiberVolume(self) -> float: 4951 return self._Entity.FiberVolume 4952 4953 @property 4954 def GlassTransition(self) -> float: 4955 return self._Entity.GlassTransition 4956 4957 @property 4958 def Manufacturer(self) -> str: 4959 return self._Entity.Manufacturer 4960 4961 @property 4962 def Processes(self) -> str: 4963 return self._Entity.Processes 4964 4965 @property 4966 def MaterialDescription(self) -> str: 4967 return self._Entity.MaterialDescription 4968 4969 @property 4970 def UserNote(self) -> str: 4971 return self._Entity.UserNote 4972 4973 @property 4974 def BendingCorrectionFactor(self) -> float: 4975 return self._Entity.BendingCorrectionFactor 4976 4977 @property 4978 def FemMaterialId(self) -> int: 4979 return self._Entity.FemMaterialId 4980 4981 @property 4982 def Cost(self) -> float: 4983 return self._Entity.Cost 4984 4985 @property 4986 def BucklingStiffnessKnockdown(self) -> float: 4987 return self._Entity.BucklingStiffnessKnockdown 4988 4989 @property 4990 def OrthotropicTemperatureProperties(self) -> list[OrthotropicTemperature]: 4991 return [OrthotropicTemperature(orthotropicTemperature) for orthotropicTemperature in self._Entity.OrthotropicTemperatureProperties] 4992 4993 @property 4994 def OrthotropicLaminateAllowables(self) -> list[OrthotropicLaminateAllowable]: 4995 return [OrthotropicLaminateAllowable(orthotropicLaminateAllowable) for orthotropicLaminateAllowable in self._Entity.OrthotropicLaminateAllowables] 4996 4997 @property 4998 def OrthotropicEffectiveLaminate(self) -> OrthotropicEffectiveLaminate: 4999 ''' 5000 Orthotropic material effective laminate properties. Read-only from the API. 5001 Check if material is an effective laminate with orthotropic.IsEffectiveLaminate. 5002 ''' 5003 result = self._Entity.OrthotropicEffectiveLaminate 5004 return OrthotropicEffectiveLaminate(result) if result is not None else None 5005 5006 @property 5007 def OrthotropicEquationCorrectionFactors(self) -> dict[OrthotropicCorrectionFactorPoint, OrthotropicEquationCorrectionFactor]: 5008 orthotropicEquationCorrectionFactorsDict = {} 5009 for kvp in self._Entity.OrthotropicEquationCorrectionFactors: 5010 orthotropicEquationCorrectionFactorsDict[OrthotropicCorrectionFactorPoint(kvp.Key)] = OrthotropicEquationCorrectionFactor(kvp.Value) 5011 5012 return orthotropicEquationCorrectionFactorsDict 5013 5014 @property 5015 def OrthotropicTabularCorrectionFactors(self) -> dict[OrthotropicCorrectionFactorPoint, OrthotropicTabularCorrectionFactor]: 5016 orthotropicTabularCorrectionFactorsDict = {} 5017 for kvp in self._Entity.OrthotropicTabularCorrectionFactors: 5018 orthotropicTabularCorrectionFactorsDict[OrthotropicCorrectionFactorPoint(kvp.Key)] = OrthotropicTabularCorrectionFactor(kvp.Value) 5019 5020 return orthotropicTabularCorrectionFactorsDict 5021 5022 @MaterialFamilyName.setter 5023 def MaterialFamilyName(self, value: str) -> None: 5024 self._Entity.MaterialFamilyName = value 5025 5026 @Name.setter 5027 def Name(self, value: str) -> None: 5028 self._Entity.Name = value 5029 5030 @Form.setter 5031 def Form(self, value: str) -> None: 5032 self._Entity.Form = value 5033 5034 @Specification.setter 5035 def Specification(self, value: str) -> None: 5036 self._Entity.Specification = value 5037 5038 @Basis.setter 5039 def Basis(self, value: str) -> None: 5040 self._Entity.Basis = value 5041 5042 @Wet.setter 5043 def Wet(self, value: bool) -> None: 5044 self._Entity.Wet = value 5045 5046 @Thickness.setter 5047 def Thickness(self, value: float) -> None: 5048 self._Entity.Thickness = value 5049 5050 @Density.setter 5051 def Density(self, value: float) -> None: 5052 self._Entity.Density = value 5053 5054 @FiberVolume.setter 5055 def FiberVolume(self, value: float) -> None: 5056 self._Entity.FiberVolume = value 5057 5058 @GlassTransition.setter 5059 def GlassTransition(self, value: float) -> None: 5060 self._Entity.GlassTransition = value 5061 5062 @Manufacturer.setter 5063 def Manufacturer(self, value: str) -> None: 5064 self._Entity.Manufacturer = value 5065 5066 @Processes.setter 5067 def Processes(self, value: str) -> None: 5068 self._Entity.Processes = value 5069 5070 @MaterialDescription.setter 5071 def MaterialDescription(self, value: str) -> None: 5072 self._Entity.MaterialDescription = value 5073 5074 @UserNote.setter 5075 def UserNote(self, value: str) -> None: 5076 self._Entity.UserNote = value 5077 5078 @BendingCorrectionFactor.setter 5079 def BendingCorrectionFactor(self, value: float) -> None: 5080 self._Entity.BendingCorrectionFactor = value 5081 5082 @FemMaterialId.setter 5083 def FemMaterialId(self, value: int) -> None: 5084 self._Entity.FemMaterialId = value 5085 5086 @Cost.setter 5087 def Cost(self, value: float) -> None: 5088 self._Entity.Cost = value 5089 5090 @BucklingStiffnessKnockdown.setter 5091 def BucklingStiffnessKnockdown(self, value: float) -> None: 5092 self._Entity.BucklingStiffnessKnockdown = value 5093 5094 def AddTemperatureProperty(self, temperature: float, et1: float, et2: float, vt12: float, ec1: float, ec2: float, vc12: float, g12: float, ftu1: float, ftu2: float, fcu1: float, fcu2: float, fsu12: float, alpha1: float, alpha2: float, etu1: float, etu2: float, ecu1: float, ecu2: float, esu12: float) -> OrthotropicTemperature: 5095 ''' 5096 Adds a temperature-dependent property for a material. 5097 ''' 5098 return OrthotropicTemperature(self._Entity.AddTemperatureProperty(temperature, et1, et2, vt12, ec1, ec2, vc12, g12, ftu1, ftu2, fcu1, fcu2, fsu12, alpha1, alpha2, etu1, etu2, ecu1, ecu2, esu12)) 5099 5100 def DeleteTemperatureProperty(self, temperature: float) -> bool: 5101 ''' 5102 Deletes a temperature-dependent property for a material. 5103 ''' 5104 return self._Entity.DeleteTemperatureProperty(temperature) 5105 5106 def GetTemperature(self, lookupTemperature: float) -> OrthotropicTemperature: 5107 ''' 5108 Retrieve a Temperature from this material's temperature-dependent properties. Allows a degree of tolerance to avoid issues with floating point numbers. 5109 :param LookupTemperature: Temperature to search for. 5110 ''' 5111 return OrthotropicTemperature(self._Entity.GetTemperature(lookupTemperature)) 5112 5113 def IsEffectiveLaminate(self) -> bool: 5114 ''' 5115 Returns true if this material is an effective laminate. 5116 ''' 5117 return self._Entity.IsEffectiveLaminate() 5118 5119 def HasLaminateAllowable(self, property: types.AllowablePropertyName) -> bool: 5120 ''' 5121 Returns true if this material has a specified laminate allowable property. 5122 ''' 5123 return self._Entity.HasLaminateAllowable(_types.AllowablePropertyName(property.value)) 5124 5125 def AddLaminateAllowable(self, property: types.AllowablePropertyName, method: types.AllowableMethodName) -> OrthotropicLaminateAllowable: 5126 ''' 5127 Adds a laminate allowable to this material. 5128 An orthotropic material can only have one laminate allowable of each property (as specified by the property argument). 5129 :param property: The strain or stress property for a laminate allowable. 5130 :param method: The method for a laminate allowable (AML, Percent 0/45, Polynomial). 5131 ''' 5132 return OrthotropicLaminateAllowable(self._Entity.AddLaminateAllowable(_types.AllowablePropertyName(property.value), _types.AllowableMethodName(method.value))) 5133 5134 def GetLaminateAllowable(self, lookupAllowableProperty: types.AllowablePropertyName) -> OrthotropicLaminateAllowable: 5135 ''' 5136 Retrieve a Laminate allowable from this material's laminate allowables. 5137 :param LookupAllowableProperty: Laminate allowable property to search for. 5138 ''' 5139 return OrthotropicLaminateAllowable(self._Entity.GetLaminateAllowable(_types.AllowablePropertyName(lookupAllowableProperty.value))) 5140 5141 def AddEquationCorrectionFactor(self, propertyId: types.CorrectionProperty, correctionId: types.CorrectionId, equationId: types.CorrectionEquation) -> OrthotropicEquationCorrectionFactor: 5142 ''' 5143 Adds an equation-based correction factor for this material. 5144 :param propertyId: The ID of the property to be affected by the correction factor. Specified with a CorrectionPropertyName enum. 5145 :param correctionId: The ID for the type of correction factor to be applied. Specified with a CorrectionIDName enum. 5146 :param equationId: The ID for the type of correction factor equation to use. Specified with a CorrectionEquationName enum. 5147 ''' 5148 return OrthotropicEquationCorrectionFactor(self._Entity.AddEquationCorrectionFactor(_types.CorrectionProperty(propertyId.value), _types.CorrectionId(correctionId.value), _types.CorrectionEquation(equationId.value))) 5149 5150 def GetEquationCorrectionFactor(self, property: types.CorrectionProperty, correction: types.CorrectionId) -> OrthotropicEquationCorrectionFactor: 5151 ''' 5152 Retrieve a Correction Factor from this material's correction factors. 5153 :param property: CorrectionPropertyName to search for. 5154 :param correction: CorrectionIDName to search for. 5155 ''' 5156 return OrthotropicEquationCorrectionFactor(self._Entity.GetEquationCorrectionFactor(_types.CorrectionProperty(property.value), _types.CorrectionId(correction.value))) 5157 5158 def GetTabularCorrectionFactor(self, property: types.CorrectionProperty, correction: types.CorrectionId) -> OrthotropicTabularCorrectionFactor: 5159 ''' 5160 Retrieve a Correction Factor from this material's correction factors. 5161 :param property: CorrectionPropertyName to search for. 5162 :param correction: CorrectionIDName to search for. 5163 ''' 5164 return OrthotropicTabularCorrectionFactor(self._Entity.GetTabularCorrectionFactor(_types.CorrectionProperty(property.value), _types.CorrectionId(correction.value))) 5165 5166 def Save(self) -> None: 5167 ''' 5168 Save any changes to this orthotropic material to the database. 5169 ''' 5170 return self._Entity.Save()
Orthotropic material.
4997 @property 4998 def OrthotropicEffectiveLaminate(self) -> OrthotropicEffectiveLaminate: 4999 ''' 5000 Orthotropic material effective laminate properties. Read-only from the API. 5001 Check if material is an effective laminate with orthotropic.IsEffectiveLaminate. 5002 ''' 5003 result = self._Entity.OrthotropicEffectiveLaminate 5004 return OrthotropicEffectiveLaminate(result) if result is not None else None
Orthotropic material effective laminate properties. Read-only from the API. Check if material is an effective laminate with orthotropic.IsEffectiveLaminate.
5006 @property 5007 def OrthotropicEquationCorrectionFactors(self) -> dict[OrthotropicCorrectionFactorPoint, OrthotropicEquationCorrectionFactor]: 5008 orthotropicEquationCorrectionFactorsDict = {} 5009 for kvp in self._Entity.OrthotropicEquationCorrectionFactors: 5010 orthotropicEquationCorrectionFactorsDict[OrthotropicCorrectionFactorPoint(kvp.Key)] = OrthotropicEquationCorrectionFactor(kvp.Value) 5011 5012 return orthotropicEquationCorrectionFactorsDict
5014 @property 5015 def OrthotropicTabularCorrectionFactors(self) -> dict[OrthotropicCorrectionFactorPoint, OrthotropicTabularCorrectionFactor]: 5016 orthotropicTabularCorrectionFactorsDict = {} 5017 for kvp in self._Entity.OrthotropicTabularCorrectionFactors: 5018 orthotropicTabularCorrectionFactorsDict[OrthotropicCorrectionFactorPoint(kvp.Key)] = OrthotropicTabularCorrectionFactor(kvp.Value) 5019 5020 return orthotropicTabularCorrectionFactorsDict
5094 def AddTemperatureProperty(self, temperature: float, et1: float, et2: float, vt12: float, ec1: float, ec2: float, vc12: float, g12: float, ftu1: float, ftu2: float, fcu1: float, fcu2: float, fsu12: float, alpha1: float, alpha2: float, etu1: float, etu2: float, ecu1: float, ecu2: float, esu12: float) -> OrthotropicTemperature: 5095 ''' 5096 Adds a temperature-dependent property for a material. 5097 ''' 5098 return OrthotropicTemperature(self._Entity.AddTemperatureProperty(temperature, et1, et2, vt12, ec1, ec2, vc12, g12, ftu1, ftu2, fcu1, fcu2, fsu12, alpha1, alpha2, etu1, etu2, ecu1, ecu2, esu12))
Adds a temperature-dependent property for a material.
5100 def DeleteTemperatureProperty(self, temperature: float) -> bool: 5101 ''' 5102 Deletes a temperature-dependent property for a material. 5103 ''' 5104 return self._Entity.DeleteTemperatureProperty(temperature)
Deletes a temperature-dependent property for a material.
5106 def GetTemperature(self, lookupTemperature: float) -> OrthotropicTemperature: 5107 ''' 5108 Retrieve a Temperature from this material's temperature-dependent properties. Allows a degree of tolerance to avoid issues with floating point numbers. 5109 :param LookupTemperature: Temperature to search for. 5110 ''' 5111 return OrthotropicTemperature(self._Entity.GetTemperature(lookupTemperature))
Retrieve a Temperature from this material's temperature-dependent properties. Allows a degree of tolerance to avoid issues with floating point numbers.
Parameters
- LookupTemperature: Temperature to search for.
5113 def IsEffectiveLaminate(self) -> bool: 5114 ''' 5115 Returns true if this material is an effective laminate. 5116 ''' 5117 return self._Entity.IsEffectiveLaminate()
Returns true if this material is an effective laminate.
5119 def HasLaminateAllowable(self, property: types.AllowablePropertyName) -> bool: 5120 ''' 5121 Returns true if this material has a specified laminate allowable property. 5122 ''' 5123 return self._Entity.HasLaminateAllowable(_types.AllowablePropertyName(property.value))
Returns true if this material has a specified laminate allowable property.
5125 def AddLaminateAllowable(self, property: types.AllowablePropertyName, method: types.AllowableMethodName) -> OrthotropicLaminateAllowable: 5126 ''' 5127 Adds a laminate allowable to this material. 5128 An orthotropic material can only have one laminate allowable of each property (as specified by the property argument). 5129 :param property: The strain or stress property for a laminate allowable. 5130 :param method: The method for a laminate allowable (AML, Percent 0/45, Polynomial). 5131 ''' 5132 return OrthotropicLaminateAllowable(self._Entity.AddLaminateAllowable(_types.AllowablePropertyName(property.value), _types.AllowableMethodName(method.value)))
Adds a laminate allowable to this material. An orthotropic material can only have one laminate allowable of each property (as specified by the property argument). :param property: The strain or stress property for a laminate allowable. :param method: The method for a laminate allowable (AML, Percent 0/45, Polynomial).
5134 def GetLaminateAllowable(self, lookupAllowableProperty: types.AllowablePropertyName) -> OrthotropicLaminateAllowable: 5135 ''' 5136 Retrieve a Laminate allowable from this material's laminate allowables. 5137 :param LookupAllowableProperty: Laminate allowable property to search for. 5138 ''' 5139 return OrthotropicLaminateAllowable(self._Entity.GetLaminateAllowable(_types.AllowablePropertyName(lookupAllowableProperty.value)))
Retrieve a Laminate allowable from this material's laminate allowables.
Parameters
- LookupAllowableProperty: Laminate allowable property to search for.
5141 def AddEquationCorrectionFactor(self, propertyId: types.CorrectionProperty, correctionId: types.CorrectionId, equationId: types.CorrectionEquation) -> OrthotropicEquationCorrectionFactor: 5142 ''' 5143 Adds an equation-based correction factor for this material. 5144 :param propertyId: The ID of the property to be affected by the correction factor. Specified with a CorrectionPropertyName enum. 5145 :param correctionId: The ID for the type of correction factor to be applied. Specified with a CorrectionIDName enum. 5146 :param equationId: The ID for the type of correction factor equation to use. Specified with a CorrectionEquationName enum. 5147 ''' 5148 return OrthotropicEquationCorrectionFactor(self._Entity.AddEquationCorrectionFactor(_types.CorrectionProperty(propertyId.value), _types.CorrectionId(correctionId.value), _types.CorrectionEquation(equationId.value)))
Adds an equation-based correction factor for this material.
Parameters
- propertyId: The ID of the property to be affected by the correction factor. Specified with a CorrectionPropertyName enum.
- correctionId: The ID for the type of correction factor to be applied. Specified with a CorrectionIDName enum.
- equationId: The ID for the type of correction factor equation to use. Specified with a CorrectionEquationName enum.
5150 def GetEquationCorrectionFactor(self, property: types.CorrectionProperty, correction: types.CorrectionId) -> OrthotropicEquationCorrectionFactor: 5151 ''' 5152 Retrieve a Correction Factor from this material's correction factors. 5153 :param property: CorrectionPropertyName to search for. 5154 :param correction: CorrectionIDName to search for. 5155 ''' 5156 return OrthotropicEquationCorrectionFactor(self._Entity.GetEquationCorrectionFactor(_types.CorrectionProperty(property.value), _types.CorrectionId(correction.value)))
Retrieve a Correction Factor from this material's correction factors.
Parameters
- property: CorrectionPropertyName to search for.
- correction: CorrectionIDName to search for.
5158 def GetTabularCorrectionFactor(self, property: types.CorrectionProperty, correction: types.CorrectionId) -> OrthotropicTabularCorrectionFactor: 5159 ''' 5160 Retrieve a Correction Factor from this material's correction factors. 5161 :param property: CorrectionPropertyName to search for. 5162 :param correction: CorrectionIDName to search for. 5163 ''' 5164 return OrthotropicTabularCorrectionFactor(self._Entity.GetTabularCorrectionFactor(_types.CorrectionProperty(property.value), _types.CorrectionId(correction.value)))
Retrieve a Correction Factor from this material's correction factors.
Parameters
- property: CorrectionPropertyName to search for.
- correction: CorrectionIDName to search for.
5173class Vector2d: 5174 ''' 5175 Represents a readonly 2D vector. 5176 ''' 5177 def __init__(self, vector2d: _api.Vector2d): 5178 self._Entity = vector2d 5179 5180 def Create_Vector2d(x: float, y: float): 5181 return Vector2d(_api.Vector2d(x, y)) 5182 5183 @property 5184 def X(self) -> float: 5185 return self._Entity.X 5186 5187 @property 5188 def Y(self) -> float: 5189 return self._Entity.Y 5190 5191 @overload 5192 def Equals(self, other) -> bool: ... 5193 5194 @overload 5195 def Equals(self, obj) -> bool: ... 5196 5197 def GetHashCode(self) -> int: 5198 return self._Entity.GetHashCode() 5199 5200 def Equals(self, item1 = None) -> bool: 5201 if isinstance(item1, Vector2d): 5202 return self._Entity.Equals(item1._Entity) 5203 5204 return self._Entity.Equals(item1._Entity) 5205 5206 def __eq__(self, other): 5207 return self.Equals(other) 5208 5209 def __ne__(self, other): 5210 return not self.Equals(other)
Represents a readonly 2D vector.
5213class ElementSet(IdNameEntity): 5214 ''' 5215 A set of elements defined in the input file. 5216 ''' 5217 def __init__(self, elementSet: _api.ElementSet): 5218 self._Entity = elementSet 5219 5220 @property 5221 def Elements(self) -> ElementCol: 5222 result = self._Entity.Elements 5223 return ElementCol(result) if result is not None else None
A set of elements defined in the input file.
Inherited Members
5226class FemProperty(IdNameEntity): 5227 ''' 5228 A property description. 5229 ''' 5230 def __init__(self, femProperty: _api.FemProperty): 5231 self._Entity = femProperty 5232 5233 @property 5234 def Elements(self) -> ElementCol: 5235 result = self._Entity.Elements 5236 return ElementCol(result) if result is not None else None 5237 5238 @property 5239 def FemType(self) -> types.FemType: 5240 return types.FemType[self._Entity.FemType.ToString()]
A property description.
Inherited Members
5243class ElementSetCol(IdEntityCol[ElementSet]): 5244 def __init__(self, elementSetCol: _api.ElementSetCol): 5245 self._Entity = elementSetCol 5246 self._CollectedClass = ElementSet 5247 5248 @property 5249 def ElementSetColList(self) -> tuple[ElementSet]: 5250 return tuple([ElementSet(elementSetCol) for elementSetCol in self._Entity]) 5251 5252 def __getitem__(self, index: int): 5253 return self.ElementSetColList[index] 5254 5255 def __iter__(self): 5256 yield from self.ElementSetColList 5257 5258 def __len__(self): 5259 return len(self.ElementSetColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
Inherited Members
5262class FemPropertyCol(IdEntityCol[FemProperty]): 5263 def __init__(self, femPropertyCol: _api.FemPropertyCol): 5264 self._Entity = femPropertyCol 5265 self._CollectedClass = FemProperty 5266 5267 @property 5268 def FemPropertyColList(self) -> tuple[FemProperty]: 5269 return tuple([FemProperty(femPropertyCol) for femPropertyCol in self._Entity]) 5270 5271 def __getitem__(self, index: int): 5272 return self.FemPropertyColList[index] 5273 5274 def __iter__(self): 5275 yield from self.FemPropertyColList 5276 5277 def __len__(self): 5278 return len(self.FemPropertyColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
Inherited Members
5281class FemDataSet: 5282 def __init__(self, femDataSet: _api.FemDataSet): 5283 self._Entity = femDataSet 5284 5285 @property 5286 def FemProperties(self) -> FemPropertyCol: 5287 result = self._Entity.FemProperties 5288 return FemPropertyCol(result) if result is not None else None 5289 5290 @property 5291 def ElementSets(self) -> ElementSetCol: 5292 result = self._Entity.ElementSets 5293 return ElementSetCol(result) if result is not None else None
5296class PluginPackage(IdNameEntity): 5297 def __init__(self, pluginPackage: _api.PluginPackage): 5298 self._Entity = pluginPackage 5299 5300 @property 5301 def FilePath(self) -> str: 5302 return self._Entity.FilePath 5303 5304 @property 5305 def Version(self) -> str: 5306 return self._Entity.Version 5307 5308 @property 5309 def Description(self) -> str: 5310 return self._Entity.Description 5311 5312 @property 5313 def ModificationDate(self) -> DateTime: 5314 return self._Entity.ModificationDate
Represents an entity with an ID and Name.
Inherited Members
5317class Ply(IdNameEntity): 5318 def __init__(self, ply: _api.Ply): 5319 self._Entity = ply 5320 5321 @property 5322 def InnerCurves(self) -> list[int]: 5323 return [int32 for int32 in self._Entity.InnerCurves] 5324 5325 @property 5326 def OuterCurves(self) -> list[int]: 5327 return [int32 for int32 in self._Entity.OuterCurves] 5328 5329 @property 5330 def FiberDirectionCurves(self) -> list[int]: 5331 return [int32 for int32 in self._Entity.FiberDirectionCurves] 5332 5333 @property 5334 def Area(self) -> float: 5335 return self._Entity.Area 5336 5337 @property 5338 def Description(self) -> str: 5339 return self._Entity.Description 5340 5341 @property 5342 def Elements(self) -> ElementCol: 5343 result = self._Entity.Elements 5344 return ElementCol(result) if result is not None else None 5345 5346 @property 5347 def MaterialId(self) -> int: 5348 return self._Entity.MaterialId 5349 5350 @property 5351 def Orientation(self) -> int: 5352 return self._Entity.Orientation 5353 5354 @property 5355 def Sequence(self) -> int: 5356 return self._Entity.Sequence 5357 5358 @property 5359 def StructureId(self) -> int: 5360 return self._Entity.StructureId 5361 5362 @property 5363 def Thickness(self) -> float: 5364 return self._Entity.Thickness
Represents an entity with an ID and Name.
Inherited Members
5367class Rundeck(IdEntity): 5368 def __init__(self, rundeck: _api.Rundeck): 5369 self._Entity = rundeck 5370 5371 @property 5372 def InputFilePath(self) -> str: 5373 return self._Entity.InputFilePath 5374 5375 @property 5376 def IsPrimary(self) -> bool: 5377 return self._Entity.IsPrimary 5378 5379 @property 5380 def ResultFilePath(self) -> str: 5381 return self._Entity.ResultFilePath 5382 5383 def SetInputFilePath(self, filepath: str) -> RundeckUpdateStatus: 5384 ''' 5385 The rundeck's input file path will point to the provided file path 5386 :param filepath: The path to the rundeck 5387 ''' 5388 return RundeckUpdateStatus[self._Entity.SetInputFilePath(filepath).ToString()] 5389 5390 def SetResultFilePath(self, filepath: str) -> RundeckUpdateStatus: 5391 ''' 5392 The rundeck's result file path will point to the provided file path 5393 :param filepath: The path to the result file 5394 ''' 5395 return RundeckUpdateStatus[self._Entity.SetResultFilePath(filepath).ToString()]
Represents an entity with an ID.
5383 def SetInputFilePath(self, filepath: str) -> RundeckUpdateStatus: 5384 ''' 5385 The rundeck's input file path will point to the provided file path 5386 :param filepath: The path to the rundeck 5387 ''' 5388 return RundeckUpdateStatus[self._Entity.SetInputFilePath(filepath).ToString()]
The rundeck's input file path will point to the provided file path
Parameters
- filepath: The path to the rundeck
5390 def SetResultFilePath(self, filepath: str) -> RundeckUpdateStatus: 5391 ''' 5392 The rundeck's result file path will point to the provided file path 5393 :param filepath: The path to the result file 5394 ''' 5395 return RundeckUpdateStatus[self._Entity.SetResultFilePath(filepath).ToString()]
The rundeck's result file path will point to the provided file path
Parameters
- filepath: The path to the result file
5398class RundeckPathPair: 5399 def __init__(self, rundeckPathPair: _api.RundeckPathPair): 5400 self._Entity = rundeckPathPair 5401 5402 @property 5403 def InputFilePath(self) -> str: 5404 return self._Entity.InputFilePath 5405 5406 @property 5407 def ResultFilePath(self) -> str: 5408 return self._Entity.ResultFilePath 5409 5410 @InputFilePath.setter 5411 def InputFilePath(self, value: str) -> None: 5412 self._Entity.InputFilePath = value 5413 5414 @ResultFilePath.setter 5415 def ResultFilePath(self, value: str) -> None: 5416 self._Entity.ResultFilePath = value
5419class BeamLoads: 5420 def __init__(self, beamLoads: _api.BeamLoads): 5421 self._Entity = beamLoads 5422 5423 @property 5424 def AxialForce(self) -> float: 5425 return self._Entity.AxialForce 5426 5427 @property 5428 def MomentX(self) -> float: 5429 return self._Entity.MomentX 5430 5431 @property 5432 def MomentY(self) -> float: 5433 return self._Entity.MomentY 5434 5435 @property 5436 def ShearX(self) -> float: 5437 return self._Entity.ShearX 5438 5439 @property 5440 def ShearY(self) -> float: 5441 return self._Entity.ShearY 5442 5443 @property 5444 def Torque(self) -> float: 5445 return self._Entity.Torque
5448class SectionCut(IdNameEntity): 5449 def __init__(self, sectionCut: _api.SectionCut): 5450 self._Entity = sectionCut 5451 5452 @property 5453 def ReferencePoint(self) -> types.SectionCutPropertyLocation: 5454 ''' 5455 Centroid vs Origin 5456 ''' 5457 return types.SectionCutPropertyLocation[self._Entity.ReferencePoint.ToString()] 5458 5459 @property 5460 def HorizontalVector(self) -> Vector3d: 5461 ''' 5462 Represents a readonly 3D vector. 5463 ''' 5464 result = self._Entity.HorizontalVector 5465 return Vector3d(result) if result is not None else None 5466 5467 @property 5468 def NormalVector(self) -> Vector3d: 5469 ''' 5470 Represents a readonly 3D vector. 5471 ''' 5472 result = self._Entity.NormalVector 5473 return Vector3d(result) if result is not None else None 5474 5475 @property 5476 def OriginVector(self) -> Vector3d: 5477 ''' 5478 Represents a readonly 3D vector. 5479 ''' 5480 result = self._Entity.OriginVector 5481 return Vector3d(result) if result is not None else None 5482 5483 @property 5484 def VerticalVector(self) -> Vector3d: 5485 ''' 5486 Represents a readonly 3D vector. 5487 ''' 5488 result = self._Entity.VerticalVector 5489 return Vector3d(result) if result is not None else None 5490 5491 @property 5492 def MaxAngleBound(self) -> float: 5493 return self._Entity.MaxAngleBound 5494 5495 @property 5496 def MinAngleBound(self) -> float: 5497 return self._Entity.MinAngleBound 5498 5499 @property 5500 def MinStiffnessEihh(self) -> float: 5501 return self._Entity.MinStiffnessEihh 5502 5503 @property 5504 def MinStiffnessEivv(self) -> float: 5505 return self._Entity.MinStiffnessEivv 5506 5507 @property 5508 def MinStiffnessGJ(self) -> float: 5509 return self._Entity.MinStiffnessGJ 5510 5511 @property 5512 def ZoneStiffnessDistribution(self) -> float: 5513 return self._Entity.ZoneStiffnessDistribution 5514 5515 @property 5516 def CN_hmax(self) -> float: 5517 return self._Entity.CN_hmax 5518 5519 @property 5520 def CN_hmin(self) -> float: 5521 return self._Entity.CN_hmin 5522 5523 @property 5524 def CN_vmax(self) -> float: 5525 return self._Entity.CN_vmax 5526 5527 @property 5528 def CN_vmin(self) -> float: 5529 return self._Entity.CN_vmin 5530 5531 @property 5532 def CQ_hmax(self) -> float: 5533 return self._Entity.CQ_hmax 5534 5535 @property 5536 def CQ_hmin(self) -> float: 5537 return self._Entity.CQ_hmin 5538 5539 @property 5540 def CQ_vmax(self) -> float: 5541 return self._Entity.CQ_vmax 5542 5543 @property 5544 def CQ_vmin(self) -> float: 5545 return self._Entity.CQ_vmin 5546 5547 @property 5548 def CG(self) -> Vector2d: 5549 ''' 5550 Represents a readonly 2D vector. 5551 ''' 5552 result = self._Entity.CG 5553 return Vector2d(result) if result is not None else None 5554 5555 @property 5556 def CN(self) -> Vector2d: 5557 ''' 5558 Represents a readonly 2D vector. 5559 ''' 5560 result = self._Entity.CN 5561 return Vector2d(result) if result is not None else None 5562 5563 @property 5564 def CQ(self) -> Vector2d: 5565 ''' 5566 Represents a readonly 2D vector. 5567 ''' 5568 result = self._Entity.CQ 5569 return Vector2d(result) if result is not None else None 5570 5571 @property 5572 def EnclosedArea(self) -> float: 5573 return self._Entity.EnclosedArea 5574 5575 @property 5576 def NumberOfCells(self) -> int: 5577 return self._Entity.NumberOfCells 5578 5579 @property 5580 def EIhh(self) -> float: 5581 return self._Entity.EIhh 5582 5583 @property 5584 def EIhv(self) -> float: 5585 return self._Entity.EIhv 5586 5587 @property 5588 def EIvv(self) -> float: 5589 return self._Entity.EIvv 5590 5591 @property 5592 def GJ(self) -> float: 5593 return self._Entity.GJ 5594 5595 @property 5596 def EA(self) -> float: 5597 return self._Entity.EA 5598 5599 @property 5600 def EImax(self) -> float: 5601 return self._Entity.EImax 5602 5603 @property 5604 def EImin(self) -> float: 5605 return self._Entity.EImin 5606 5607 @property 5608 def PrincipalAngle(self) -> float: 5609 return self._Entity.PrincipalAngle 5610 5611 @property 5612 def Elements(self) -> ElementCol: 5613 result = self._Entity.Elements 5614 return ElementCol(result) if result is not None else None 5615 5616 @property 5617 def PlateElements(self) -> ElementCol: 5618 result = self._Entity.PlateElements 5619 return ElementCol(result) if result is not None else None 5620 5621 @property 5622 def BeamElements(self) -> ElementCol: 5623 result = self._Entity.BeamElements 5624 return ElementCol(result) if result is not None else None 5625 5626 @ReferencePoint.setter 5627 def ReferencePoint(self, value: types.SectionCutPropertyLocation) -> None: 5628 self._Entity.ReferencePoint = _types.SectionCutPropertyLocation(value.value) 5629 5630 @MaxAngleBound.setter 5631 def MaxAngleBound(self, value: float) -> None: 5632 self._Entity.MaxAngleBound = value 5633 5634 @MinAngleBound.setter 5635 def MinAngleBound(self, value: float) -> None: 5636 self._Entity.MinAngleBound = value 5637 5638 @MinStiffnessEihh.setter 5639 def MinStiffnessEihh(self, value: float) -> None: 5640 self._Entity.MinStiffnessEihh = value 5641 5642 @MinStiffnessEivv.setter 5643 def MinStiffnessEivv(self, value: float) -> None: 5644 self._Entity.MinStiffnessEivv = value 5645 5646 @MinStiffnessGJ.setter 5647 def MinStiffnessGJ(self, value: float) -> None: 5648 self._Entity.MinStiffnessGJ = value 5649 5650 @ZoneStiffnessDistribution.setter 5651 def ZoneStiffnessDistribution(self, value: float) -> None: 5652 self._Entity.ZoneStiffnessDistribution = value 5653 5654 @CN_hmax.setter 5655 def CN_hmax(self, value: float) -> None: 5656 self._Entity.CN_hmax = value 5657 5658 @CN_hmin.setter 5659 def CN_hmin(self, value: float) -> None: 5660 self._Entity.CN_hmin = value 5661 5662 @CN_vmax.setter 5663 def CN_vmax(self, value: float) -> None: 5664 self._Entity.CN_vmax = value 5665 5666 @CN_vmin.setter 5667 def CN_vmin(self, value: float) -> None: 5668 self._Entity.CN_vmin = value 5669 5670 @CQ_hmax.setter 5671 def CQ_hmax(self, value: float) -> None: 5672 self._Entity.CQ_hmax = value 5673 5674 @CQ_hmin.setter 5675 def CQ_hmin(self, value: float) -> None: 5676 self._Entity.CQ_hmin = value 5677 5678 @CQ_vmax.setter 5679 def CQ_vmax(self, value: float) -> None: 5680 self._Entity.CQ_vmax = value 5681 5682 @CQ_vmin.setter 5683 def CQ_vmin(self, value: float) -> None: 5684 self._Entity.CQ_vmin = value 5685 5686 def AlignToHorizontalPrincipalAxes(self) -> None: 5687 ''' 5688 Set this Section Cut's horizontal vector to be equal to its principal axis horizontal vector. 5689 ''' 5690 return self._Entity.AlignToHorizontalPrincipalAxes() 5691 5692 def AlignToVerticalPrincipalAxes(self) -> None: 5693 ''' 5694 Set this Section Cut's horizontal vector to be equal to its principal axis vertical vector. 5695 ''' 5696 return self._Entity.AlignToVerticalPrincipalAxes() 5697 5698 def SetHorizontalVector(self, vector: Vector3d) -> None: 5699 return self._Entity.SetHorizontalVector(vector._Entity) 5700 5701 def SetNormalVector(self, vector: Vector3d) -> None: 5702 return self._Entity.SetNormalVector(vector._Entity) 5703 5704 def SetOrigin(self, vector: Vector3d) -> None: 5705 return self._Entity.SetOrigin(vector._Entity) 5706 5707 def GetBeamLoads(self, loadCaseId: int, factor: types.LoadSubCaseFactor) -> BeamLoads: 5708 return BeamLoads(self._Entity.GetBeamLoads(loadCaseId, _types.LoadSubCaseFactor(factor.value))) 5709 5710 def InclinationAngle(self, loadCaseId: int, factor: types.LoadSubCaseFactor) -> float: 5711 return self._Entity.InclinationAngle(loadCaseId, _types.LoadSubCaseFactor(factor.value)) 5712 5713 def HorizontalIntercept(self, loadCaseId: int, factor: types.LoadSubCaseFactor) -> float: 5714 return self._Entity.HorizontalIntercept(loadCaseId, _types.LoadSubCaseFactor(factor.value)) 5715 5716 def VerticalIntercept(self, loadCaseId: int, factor: types.LoadSubCaseFactor) -> float: 5717 return self._Entity.VerticalIntercept(loadCaseId, _types.LoadSubCaseFactor(factor.value)) 5718 5719 def SetElements(self, elements: list[int]) -> bool: 5720 elementsList = MakeCSharpIntList(elements) 5721 return self._Entity.SetElements(elementsList) 5722 5723 def SetElementsByIntersection(self) -> None: 5724 return self._Entity.SetElementsByIntersection()
Represents an entity with an ID and Name.
5452 @property 5453 def ReferencePoint(self) -> types.SectionCutPropertyLocation: 5454 ''' 5455 Centroid vs Origin 5456 ''' 5457 return types.SectionCutPropertyLocation[self._Entity.ReferencePoint.ToString()]
Centroid vs Origin
5459 @property 5460 def HorizontalVector(self) -> Vector3d: 5461 ''' 5462 Represents a readonly 3D vector. 5463 ''' 5464 result = self._Entity.HorizontalVector 5465 return Vector3d(result) if result is not None else None
Represents a readonly 3D vector.
5467 @property 5468 def NormalVector(self) -> Vector3d: 5469 ''' 5470 Represents a readonly 3D vector. 5471 ''' 5472 result = self._Entity.NormalVector 5473 return Vector3d(result) if result is not None else None
Represents a readonly 3D vector.
5475 @property 5476 def OriginVector(self) -> Vector3d: 5477 ''' 5478 Represents a readonly 3D vector. 5479 ''' 5480 result = self._Entity.OriginVector 5481 return Vector3d(result) if result is not None else None
Represents a readonly 3D vector.
5483 @property 5484 def VerticalVector(self) -> Vector3d: 5485 ''' 5486 Represents a readonly 3D vector. 5487 ''' 5488 result = self._Entity.VerticalVector 5489 return Vector3d(result) if result is not None else None
Represents a readonly 3D vector.
5547 @property 5548 def CG(self) -> Vector2d: 5549 ''' 5550 Represents a readonly 2D vector. 5551 ''' 5552 result = self._Entity.CG 5553 return Vector2d(result) if result is not None else None
Represents a readonly 2D vector.
5555 @property 5556 def CN(self) -> Vector2d: 5557 ''' 5558 Represents a readonly 2D vector. 5559 ''' 5560 result = self._Entity.CN 5561 return Vector2d(result) if result is not None else None
Represents a readonly 2D vector.
5563 @property 5564 def CQ(self) -> Vector2d: 5565 ''' 5566 Represents a readonly 2D vector. 5567 ''' 5568 result = self._Entity.CQ 5569 return Vector2d(result) if result is not None else None
Represents a readonly 2D vector.
5686 def AlignToHorizontalPrincipalAxes(self) -> None: 5687 ''' 5688 Set this Section Cut's horizontal vector to be equal to its principal axis horizontal vector. 5689 ''' 5690 return self._Entity.AlignToHorizontalPrincipalAxes()
Set this Section Cut's horizontal vector to be equal to its principal axis horizontal vector.
5692 def AlignToVerticalPrincipalAxes(self) -> None: 5693 ''' 5694 Set this Section Cut's horizontal vector to be equal to its principal axis vertical vector. 5695 ''' 5696 return self._Entity.AlignToVerticalPrincipalAxes()
Set this Section Cut's horizontal vector to be equal to its principal axis vertical vector.
Inherited Members
5727class Set(ZoneJointContainer): 5728 def __init__(self, set: _api.Set): 5729 self._Entity = set 5730 5731 @property 5732 def Joints(self) -> JointCol: 5733 result = self._Entity.Joints 5734 return JointCol(result) if result is not None else None 5735 5736 @property 5737 def PanelSegments(self) -> PanelSegmentCol: 5738 result = self._Entity.PanelSegments 5739 return PanelSegmentCol(result) if result is not None else None 5740 5741 @property 5742 def Zones(self) -> ZoneCol: 5743 result = self._Entity.Zones 5744 return ZoneCol(result) if result is not None else None 5745 5746 @overload 5747 def AddJoint(self, joint: Joint) -> CollectionModificationStatus: ... 5748 5749 @overload 5750 def AddPanelSegment(self, segment: PanelSegment) -> CollectionModificationStatus: ... 5751 5752 @overload 5753 def AddZones(self, zones: tuple[Zone]) -> CollectionModificationStatus: ... 5754 5755 @overload 5756 def RemoveJoints(self, jointIds: tuple[int]) -> CollectionModificationStatus: ... 5757 5758 @overload 5759 def RemovePanelSegments(self, segmentIds: tuple[int]) -> CollectionModificationStatus: ... 5760 5761 @overload 5762 def RemoveZones(self, zoneIds: tuple[int]) -> CollectionModificationStatus: ... 5763 5764 @overload 5765 def AddJoint(self, id: int) -> CollectionModificationStatus: ... 5766 5767 @overload 5768 def RemoveJoint(self, id: int) -> CollectionModificationStatus: ... 5769 5770 @overload 5771 def RemoveJoint(self, joint: Joint) -> CollectionModificationStatus: ... 5772 5773 @overload 5774 def RemoveJoints(self, joints: JointCol) -> CollectionModificationStatus: ... 5775 5776 @overload 5777 def AddZone(self, id: int) -> CollectionModificationStatus: ... 5778 5779 @overload 5780 def AddZones(self, ids: tuple[int]) -> CollectionModificationStatus: ... 5781 5782 @overload 5783 def AddZone(self, zone: Zone) -> CollectionModificationStatus: ... 5784 5785 @overload 5786 def RemoveZone(self, id: int) -> CollectionModificationStatus: ... 5787 5788 @overload 5789 def RemoveZone(self, zone: Zone) -> CollectionModificationStatus: ... 5790 5791 @overload 5792 def RemoveZones(self, zones: ZoneCol) -> CollectionModificationStatus: ... 5793 5794 @overload 5795 def AddPanelSegment(self, id: int) -> CollectionModificationStatus: ... 5796 5797 @overload 5798 def RemovePanelSegment(self, id: int) -> CollectionModificationStatus: ... 5799 5800 @overload 5801 def RemovePanelSegment(self, segment: PanelSegment) -> CollectionModificationStatus: ... 5802 5803 @overload 5804 def RemovePanelSegments(self, segments: PanelSegmentCol) -> CollectionModificationStatus: ... 5805 5806 def AddJoint(self, item1 = None) -> CollectionModificationStatus: 5807 if isinstance(item1, Joint): 5808 return CollectionModificationStatus[self._Entity.AddJoint(item1._Entity).ToString()] 5809 5810 if isinstance(item1, int): 5811 return CollectionModificationStatus(super().AddJoint(item1)) 5812 5813 return CollectionModificationStatus[self._Entity.AddJoint(item1._Entity).ToString()] 5814 5815 def AddPanelSegment(self, item1 = None) -> CollectionModificationStatus: 5816 if isinstance(item1, PanelSegment): 5817 return CollectionModificationStatus[self._Entity.AddPanelSegment(item1._Entity).ToString()] 5818 5819 if isinstance(item1, int): 5820 return CollectionModificationStatus(super().AddPanelSegment(item1)) 5821 5822 return CollectionModificationStatus[self._Entity.AddPanelSegment(item1._Entity).ToString()] 5823 5824 def AddZones(self, item1 = None) -> CollectionModificationStatus: 5825 if isinstance(item1, tuple) and item1 and isinstance(item1[0], Zone): 5826 zonesList = List[_api.Zone]() 5827 if item1 is not None: 5828 for thing in item1: 5829 if thing is not None: 5830 zonesList.Add(thing._Entity) 5831 zonesEnumerable = IEnumerable(zonesList) 5832 return CollectionModificationStatus[self._Entity.AddZones(zonesEnumerable).ToString()] 5833 5834 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int): 5835 return CollectionModificationStatus(super().AddZones(item1)) 5836 5837 return CollectionModificationStatus[self._Entity.AddZones(item1).ToString()] 5838 5839 def RemoveJoints(self, item1 = None) -> CollectionModificationStatus: 5840 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int): 5841 jointIdsList = MakeCSharpIntList(item1) 5842 jointIdsEnumerable = IEnumerable(jointIdsList) 5843 return CollectionModificationStatus[self._Entity.RemoveJoints(jointIdsEnumerable).ToString()] 5844 5845 if isinstance(item1, JointCol): 5846 return CollectionModificationStatus(super().RemoveJoints(item1)) 5847 5848 return CollectionModificationStatus[self._Entity.RemoveJoints(item1).ToString()] 5849 5850 def RemovePanelSegments(self, item1 = None) -> CollectionModificationStatus: 5851 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int): 5852 segmentIdsList = MakeCSharpIntList(item1) 5853 segmentIdsEnumerable = IEnumerable(segmentIdsList) 5854 return CollectionModificationStatus[self._Entity.RemovePanelSegments(segmentIdsEnumerable).ToString()] 5855 5856 if isinstance(item1, PanelSegmentCol): 5857 return CollectionModificationStatus(super().RemovePanelSegments(item1)) 5858 5859 return CollectionModificationStatus[self._Entity.RemovePanelSegments(item1).ToString()] 5860 5861 def RemoveZones(self, item1 = None) -> CollectionModificationStatus: 5862 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int): 5863 zoneIdsList = MakeCSharpIntList(item1) 5864 zoneIdsEnumerable = IEnumerable(zoneIdsList) 5865 return CollectionModificationStatus[self._Entity.RemoveZones(zoneIdsEnumerable).ToString()] 5866 5867 if isinstance(item1, ZoneCol): 5868 return CollectionModificationStatus(super().RemoveZones(item1)) 5869 5870 return CollectionModificationStatus[self._Entity.RemoveZones(item1).ToString()] 5871 5872 def RemoveJoint(self, item1 = None) -> CollectionModificationStatus: 5873 if isinstance(item1, int): 5874 return CollectionModificationStatus(super().RemoveJoint(item1)) 5875 5876 if isinstance(item1, Joint): 5877 return CollectionModificationStatus(super().RemoveJoint(item1)) 5878 5879 return CollectionModificationStatus[self._Entity.RemoveJoint(item1).ToString()] 5880 5881 def AddZone(self, item1 = None) -> CollectionModificationStatus: 5882 if isinstance(item1, int): 5883 return CollectionModificationStatus(super().AddZone(item1)) 5884 5885 if isinstance(item1, Zone): 5886 return CollectionModificationStatus(super().AddZone(item1)) 5887 5888 return CollectionModificationStatus[self._Entity.AddZone(item1).ToString()] 5889 5890 def RemoveZone(self, item1 = None) -> CollectionModificationStatus: 5891 if isinstance(item1, int): 5892 return CollectionModificationStatus(super().RemoveZone(item1)) 5893 5894 if isinstance(item1, Zone): 5895 return CollectionModificationStatus(super().RemoveZone(item1)) 5896 5897 return CollectionModificationStatus[self._Entity.RemoveZone(item1).ToString()] 5898 5899 def RemovePanelSegment(self, item1 = None) -> CollectionModificationStatus: 5900 if isinstance(item1, int): 5901 return CollectionModificationStatus(super().RemovePanelSegment(item1)) 5902 5903 if isinstance(item1, PanelSegment): 5904 return CollectionModificationStatus(super().RemovePanelSegment(item1)) 5905 5906 return CollectionModificationStatus[self._Entity.RemovePanelSegment(item1).ToString()]
Represents an entity that contains a collection of Zones and Joints.
5806 def AddJoint(self, item1 = None) -> CollectionModificationStatus: 5807 if isinstance(item1, Joint): 5808 return CollectionModificationStatus[self._Entity.AddJoint(item1._Entity).ToString()] 5809 5810 if isinstance(item1, int): 5811 return CollectionModificationStatus(super().AddJoint(item1)) 5812 5813 return CollectionModificationStatus[self._Entity.AddJoint(item1._Entity).ToString()]
5815 def AddPanelSegment(self, item1 = None) -> CollectionModificationStatus: 5816 if isinstance(item1, PanelSegment): 5817 return CollectionModificationStatus[self._Entity.AddPanelSegment(item1._Entity).ToString()] 5818 5819 if isinstance(item1, int): 5820 return CollectionModificationStatus(super().AddPanelSegment(item1)) 5821 5822 return CollectionModificationStatus[self._Entity.AddPanelSegment(item1._Entity).ToString()]
5824 def AddZones(self, item1 = None) -> CollectionModificationStatus: 5825 if isinstance(item1, tuple) and item1 and isinstance(item1[0], Zone): 5826 zonesList = List[_api.Zone]() 5827 if item1 is not None: 5828 for thing in item1: 5829 if thing is not None: 5830 zonesList.Add(thing._Entity) 5831 zonesEnumerable = IEnumerable(zonesList) 5832 return CollectionModificationStatus[self._Entity.AddZones(zonesEnumerable).ToString()] 5833 5834 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int): 5835 return CollectionModificationStatus(super().AddZones(item1)) 5836 5837 return CollectionModificationStatus[self._Entity.AddZones(item1).ToString()]
5839 def RemoveJoints(self, item1 = None) -> CollectionModificationStatus: 5840 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int): 5841 jointIdsList = MakeCSharpIntList(item1) 5842 jointIdsEnumerable = IEnumerable(jointIdsList) 5843 return CollectionModificationStatus[self._Entity.RemoveJoints(jointIdsEnumerable).ToString()] 5844 5845 if isinstance(item1, JointCol): 5846 return CollectionModificationStatus(super().RemoveJoints(item1)) 5847 5848 return CollectionModificationStatus[self._Entity.RemoveJoints(item1).ToString()]
5850 def RemovePanelSegments(self, item1 = None) -> CollectionModificationStatus: 5851 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int): 5852 segmentIdsList = MakeCSharpIntList(item1) 5853 segmentIdsEnumerable = IEnumerable(segmentIdsList) 5854 return CollectionModificationStatus[self._Entity.RemovePanelSegments(segmentIdsEnumerable).ToString()] 5855 5856 if isinstance(item1, PanelSegmentCol): 5857 return CollectionModificationStatus(super().RemovePanelSegments(item1)) 5858 5859 return CollectionModificationStatus[self._Entity.RemovePanelSegments(item1).ToString()]
5861 def RemoveZones(self, item1 = None) -> CollectionModificationStatus: 5862 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int): 5863 zoneIdsList = MakeCSharpIntList(item1) 5864 zoneIdsEnumerable = IEnumerable(zoneIdsList) 5865 return CollectionModificationStatus[self._Entity.RemoveZones(zoneIdsEnumerable).ToString()] 5866 5867 if isinstance(item1, ZoneCol): 5868 return CollectionModificationStatus(super().RemoveZones(item1)) 5869 5870 return CollectionModificationStatus[self._Entity.RemoveZones(item1).ToString()]
5872 def RemoveJoint(self, item1 = None) -> CollectionModificationStatus: 5873 if isinstance(item1, int): 5874 return CollectionModificationStatus(super().RemoveJoint(item1)) 5875 5876 if isinstance(item1, Joint): 5877 return CollectionModificationStatus(super().RemoveJoint(item1)) 5878 5879 return CollectionModificationStatus[self._Entity.RemoveJoint(item1).ToString()]
5881 def AddZone(self, item1 = None) -> CollectionModificationStatus: 5882 if isinstance(item1, int): 5883 return CollectionModificationStatus(super().AddZone(item1)) 5884 5885 if isinstance(item1, Zone): 5886 return CollectionModificationStatus(super().AddZone(item1)) 5887 5888 return CollectionModificationStatus[self._Entity.AddZone(item1).ToString()]
5890 def RemoveZone(self, item1 = None) -> CollectionModificationStatus: 5891 if isinstance(item1, int): 5892 return CollectionModificationStatus(super().RemoveZone(item1)) 5893 5894 if isinstance(item1, Zone): 5895 return CollectionModificationStatus(super().RemoveZone(item1)) 5896 5897 return CollectionModificationStatus[self._Entity.RemoveZone(item1).ToString()]
5899 def RemovePanelSegment(self, item1 = None) -> CollectionModificationStatus: 5900 if isinstance(item1, int): 5901 return CollectionModificationStatus(super().RemovePanelSegment(item1)) 5902 5903 if isinstance(item1, PanelSegment): 5904 return CollectionModificationStatus(super().RemovePanelSegment(item1)) 5905 5906 return CollectionModificationStatus[self._Entity.RemovePanelSegment(item1).ToString()]
5909class PlyCol(IdNameEntityCol[Ply]): 5910 def __init__(self, plyCol: _api.PlyCol): 5911 self._Entity = plyCol 5912 self._CollectedClass = Ply 5913 5914 @property 5915 def PlyColList(self) -> tuple[Ply]: 5916 return tuple([Ply(plyCol) for plyCol in self._Entity]) 5917 5918 def Delete(self, id: int) -> CollectionModificationStatus: 5919 return CollectionModificationStatus[self._Entity.Delete(id).ToString()] 5920 5921 def DeleteAll(self) -> None: 5922 ''' 5923 Delete all plies in the collection. 5924 ''' 5925 return self._Entity.DeleteAll() 5926 5927 def ExportToCSV(self, filepath: str) -> None: 5928 ''' 5929 This feature is in development and may not work as expected. Use at your own risk! 5930 ''' 5931 return self._Entity.ExportToCSV(filepath) 5932 5933 def ImportCSV(self, filepath: str) -> None: 5934 return self._Entity.ImportCSV(filepath) 5935 5936 @overload 5937 def Get(self, name: str) -> Ply: ... 5938 5939 @overload 5940 def Get(self, id: int) -> Ply: ... 5941 5942 def Get(self, item1 = None) -> Ply: 5943 if isinstance(item1, str): 5944 return Ply(super().Get(item1)) 5945 5946 if isinstance(item1, int): 5947 return Ply(super().Get(item1)) 5948 5949 return Ply(self._Entity.Get(item1)) 5950 5951 def __getitem__(self, index: int): 5952 return self.PlyColList[index] 5953 5954 def __iter__(self): 5955 yield from self.PlyColList 5956 5957 def __len__(self): 5958 return len(self.PlyColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
5921 def DeleteAll(self) -> None: 5922 ''' 5923 Delete all plies in the collection. 5924 ''' 5925 return self._Entity.DeleteAll()
Delete all plies in the collection.
5927 def ExportToCSV(self, filepath: str) -> None: 5928 ''' 5929 This feature is in development and may not work as expected. Use at your own risk! 5930 ''' 5931 return self._Entity.ExportToCSV(filepath)
This feature is in development and may not work as expected. Use at your own risk!
Inherited Members
5961class Structure(ZoneJointContainer): 5962 def __init__(self, structure: _api.Structure): 5963 self._Entity = structure 5964 5965 @property 5966 def Plies(self) -> PlyCol: 5967 result = self._Entity.Plies 5968 return PlyCol(result) if result is not None else None 5969 5970 @property 5971 def Joints(self) -> JointCol: 5972 result = self._Entity.Joints 5973 return JointCol(result) if result is not None else None 5974 5975 @property 5976 def PanelSegments(self) -> PanelSegmentCol: 5977 result = self._Entity.PanelSegments 5978 return PanelSegmentCol(result) if result is not None else None 5979 5980 @property 5981 def Zones(self) -> ZoneCol: 5982 result = self._Entity.Zones 5983 return ZoneCol(result) if result is not None else None 5984 5985 def ExportVCP(self, fileName: str) -> None: 5986 ''' 5987 Export VCP with this structure's element centroids. 5988 ''' 5989 return self._Entity.ExportVCP(fileName) 5990 5991 def AddElements(self, elementIds: tuple[int]) -> CollectionModificationStatus: 5992 elementIdsList = MakeCSharpIntList(elementIds) 5993 elementIdsEnumerable = IEnumerable(elementIdsList) 5994 return CollectionModificationStatus[self._Entity.AddElements(elementIdsEnumerable).ToString()] 5995 5996 @overload 5997 def AddJoint(self, joint: Joint) -> CollectionModificationStatus: ... 5998 5999 @overload 6000 def AddPanelSegment(self, segment: PanelSegment) -> CollectionModificationStatus: ... 6001 6002 def AddPfemProperties(self, pfemPropertyIds: tuple[int]) -> CollectionModificationStatus: 6003 pfemPropertyIdsList = MakeCSharpIntList(pfemPropertyIds) 6004 pfemPropertyIdsEnumerable = IEnumerable(pfemPropertyIdsList) 6005 return CollectionModificationStatus[self._Entity.AddPfemProperties(pfemPropertyIdsEnumerable).ToString()] 6006 6007 @overload 6008 def AddZones(self, zones: tuple[Zone]) -> CollectionModificationStatus: ... 6009 6010 def CreateZone(self, elementIds: tuple[int], name: str = None) -> Zone: 6011 elementIdsList = MakeCSharpIntList(elementIds) 6012 elementIdsEnumerable = IEnumerable(elementIdsList) 6013 result = self._Entity.CreateZone(elementIdsEnumerable, name) 6014 thisClass = type(result).__name__ 6015 givenClass = Zone 6016 for subclass in Zone.__subclasses__(): 6017 if subclass.__name__ == thisClass: 6018 givenClass = subclass 6019 return givenClass(result) 6020 6021 def CreatePanelSegment(self, discreteTechnique: types.DiscreteTechnique, discreteElementLkp: dict[types.DiscreteDefinitionType, list[int]], name: str = None) -> PanelSegment: 6022 discreteElementLkpDict = Dictionary[_types.DiscreteDefinitionType, List[int]]() 6023 for kvp in discreteElementLkp: 6024 discreteElementLkpDict.Add(_types.DiscreteDefinitionType(kvp.value), MakeCSharpIntList(discreteElementLkp[kvp])) 6025 return PanelSegment(self._Entity.CreatePanelSegment(_types.DiscreteTechnique(discreteTechnique.value), discreteElementLkpDict, name)) 6026 6027 @overload 6028 def Remove(self, zoneIds: tuple[int], jointIds: tuple[int]) -> CollectionModificationStatus: ... 6029 6030 @overload 6031 def Remove(self, zoneIds: tuple[int], jointIds: tuple[int], panelSegmentIds: tuple[int]) -> CollectionModificationStatus: ... 6032 6033 @overload 6034 def RemoveJoints(self, jointIds: tuple[int]) -> CollectionModificationStatus: ... 6035 6036 @overload 6037 def RemovePanelSegments(self, segmentIds: tuple[int]) -> CollectionModificationStatus: ... 6038 6039 @overload 6040 def RemoveZones(self, zoneIds: tuple[int]) -> CollectionModificationStatus: ... 6041 6042 @overload 6043 def AddJoint(self, id: int) -> CollectionModificationStatus: ... 6044 6045 @overload 6046 def RemoveJoint(self, id: int) -> CollectionModificationStatus: ... 6047 6048 @overload 6049 def RemoveJoint(self, joint: Joint) -> CollectionModificationStatus: ... 6050 6051 @overload 6052 def RemoveJoints(self, joints: JointCol) -> CollectionModificationStatus: ... 6053 6054 @overload 6055 def AddZone(self, id: int) -> CollectionModificationStatus: ... 6056 6057 @overload 6058 def AddZones(self, ids: tuple[int]) -> CollectionModificationStatus: ... 6059 6060 @overload 6061 def AddZone(self, zone: Zone) -> CollectionModificationStatus: ... 6062 6063 @overload 6064 def RemoveZone(self, id: int) -> CollectionModificationStatus: ... 6065 6066 @overload 6067 def RemoveZone(self, zone: Zone) -> CollectionModificationStatus: ... 6068 6069 @overload 6070 def RemoveZones(self, zones: ZoneCol) -> CollectionModificationStatus: ... 6071 6072 @overload 6073 def AddPanelSegment(self, id: int) -> CollectionModificationStatus: ... 6074 6075 @overload 6076 def RemovePanelSegment(self, id: int) -> CollectionModificationStatus: ... 6077 6078 @overload 6079 def RemovePanelSegment(self, segment: PanelSegment) -> CollectionModificationStatus: ... 6080 6081 @overload 6082 def RemovePanelSegments(self, segments: PanelSegmentCol) -> CollectionModificationStatus: ... 6083 6084 def AddJoint(self, item1 = None) -> CollectionModificationStatus: 6085 if isinstance(item1, Joint): 6086 return CollectionModificationStatus[self._Entity.AddJoint(item1._Entity).ToString()] 6087 6088 if isinstance(item1, int): 6089 return CollectionModificationStatus(super().AddJoint(item1)) 6090 6091 return CollectionModificationStatus[self._Entity.AddJoint(item1._Entity).ToString()] 6092 6093 def AddPanelSegment(self, item1 = None) -> CollectionModificationStatus: 6094 if isinstance(item1, PanelSegment): 6095 return CollectionModificationStatus[self._Entity.AddPanelSegment(item1._Entity).ToString()] 6096 6097 if isinstance(item1, int): 6098 return CollectionModificationStatus(super().AddPanelSegment(item1)) 6099 6100 return CollectionModificationStatus[self._Entity.AddPanelSegment(item1._Entity).ToString()] 6101 6102 def AddZones(self, item1 = None) -> CollectionModificationStatus: 6103 if isinstance(item1, tuple) and item1 and isinstance(item1[0], Zone): 6104 zonesList = List[_api.Zone]() 6105 if item1 is not None: 6106 for thing in item1: 6107 if thing is not None: 6108 zonesList.Add(thing._Entity) 6109 zonesEnumerable = IEnumerable(zonesList) 6110 return CollectionModificationStatus[self._Entity.AddZones(zonesEnumerable).ToString()] 6111 6112 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int): 6113 return CollectionModificationStatus(super().AddZones(item1)) 6114 6115 return CollectionModificationStatus[self._Entity.AddZones(item1).ToString()] 6116 6117 def Remove(self, item1 = None, item2 = None, item3 = None) -> CollectionModificationStatus: 6118 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int) and isinstance(item2, tuple) and item2 and isinstance(item2[0], int) and isinstance(item3, tuple) and item3 and isinstance(item3[0], int): 6119 zoneIdsList = MakeCSharpIntList(item1) 6120 zoneIdsEnumerable = IEnumerable(zoneIdsList) 6121 jointIdsList = MakeCSharpIntList(item2) 6122 jointIdsEnumerable = IEnumerable(jointIdsList) 6123 panelSegmentIdsList = MakeCSharpIntList(item3) 6124 panelSegmentIdsEnumerable = IEnumerable(panelSegmentIdsList) 6125 return CollectionModificationStatus[self._Entity.Remove(zoneIdsEnumerable, jointIdsEnumerable, panelSegmentIdsEnumerable).ToString()] 6126 6127 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int) and isinstance(item2, tuple) and item2 and isinstance(item2[0], int): 6128 zoneIdsList = MakeCSharpIntList(item1) 6129 zoneIdsEnumerable = IEnumerable(zoneIdsList) 6130 jointIdsList = MakeCSharpIntList(item2) 6131 jointIdsEnumerable = IEnumerable(jointIdsList) 6132 return CollectionModificationStatus[self._Entity.Remove(zoneIdsEnumerable, jointIdsEnumerable).ToString()] 6133 6134 return CollectionModificationStatus[self._Entity.Remove(item1, item2, item3).ToString()] 6135 6136 def RemoveJoints(self, item1 = None) -> CollectionModificationStatus: 6137 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int): 6138 jointIdsList = MakeCSharpIntList(item1) 6139 jointIdsEnumerable = IEnumerable(jointIdsList) 6140 return CollectionModificationStatus[self._Entity.RemoveJoints(jointIdsEnumerable).ToString()] 6141 6142 if isinstance(item1, JointCol): 6143 return CollectionModificationStatus(super().RemoveJoints(item1)) 6144 6145 return CollectionModificationStatus[self._Entity.RemoveJoints(item1).ToString()] 6146 6147 def RemovePanelSegments(self, item1 = None) -> CollectionModificationStatus: 6148 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int): 6149 segmentIdsList = MakeCSharpIntList(item1) 6150 segmentIdsEnumerable = IEnumerable(segmentIdsList) 6151 return CollectionModificationStatus[self._Entity.RemovePanelSegments(segmentIdsEnumerable).ToString()] 6152 6153 if isinstance(item1, PanelSegmentCol): 6154 return CollectionModificationStatus(super().RemovePanelSegments(item1)) 6155 6156 return CollectionModificationStatus[self._Entity.RemovePanelSegments(item1).ToString()] 6157 6158 def RemoveZones(self, item1 = None) -> CollectionModificationStatus: 6159 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int): 6160 zoneIdsList = MakeCSharpIntList(item1) 6161 zoneIdsEnumerable = IEnumerable(zoneIdsList) 6162 return CollectionModificationStatus[self._Entity.RemoveZones(zoneIdsEnumerable).ToString()] 6163 6164 if isinstance(item1, ZoneCol): 6165 return CollectionModificationStatus(super().RemoveZones(item1)) 6166 6167 return CollectionModificationStatus[self._Entity.RemoveZones(item1).ToString()] 6168 6169 def RemoveJoint(self, item1 = None) -> CollectionModificationStatus: 6170 if isinstance(item1, int): 6171 return CollectionModificationStatus(super().RemoveJoint(item1)) 6172 6173 if isinstance(item1, Joint): 6174 return CollectionModificationStatus(super().RemoveJoint(item1)) 6175 6176 return CollectionModificationStatus[self._Entity.RemoveJoint(item1).ToString()] 6177 6178 def AddZone(self, item1 = None) -> CollectionModificationStatus: 6179 if isinstance(item1, int): 6180 return CollectionModificationStatus(super().AddZone(item1)) 6181 6182 if isinstance(item1, Zone): 6183 return CollectionModificationStatus(super().AddZone(item1)) 6184 6185 return CollectionModificationStatus[self._Entity.AddZone(item1).ToString()] 6186 6187 def RemoveZone(self, item1 = None) -> CollectionModificationStatus: 6188 if isinstance(item1, int): 6189 return CollectionModificationStatus(super().RemoveZone(item1)) 6190 6191 if isinstance(item1, Zone): 6192 return CollectionModificationStatus(super().RemoveZone(item1)) 6193 6194 return CollectionModificationStatus[self._Entity.RemoveZone(item1).ToString()] 6195 6196 def RemovePanelSegment(self, item1 = None) -> CollectionModificationStatus: 6197 if isinstance(item1, int): 6198 return CollectionModificationStatus(super().RemovePanelSegment(item1)) 6199 6200 if isinstance(item1, PanelSegment): 6201 return CollectionModificationStatus(super().RemovePanelSegment(item1)) 6202 6203 return CollectionModificationStatus[self._Entity.RemovePanelSegment(item1).ToString()]
Represents an entity that contains a collection of Zones and Joints.
5985 def ExportVCP(self, fileName: str) -> None: 5986 ''' 5987 Export VCP with this structure's element centroids. 5988 ''' 5989 return self._Entity.ExportVCP(fileName)
Export VCP with this structure's element centroids.
6084 def AddJoint(self, item1 = None) -> CollectionModificationStatus: 6085 if isinstance(item1, Joint): 6086 return CollectionModificationStatus[self._Entity.AddJoint(item1._Entity).ToString()] 6087 6088 if isinstance(item1, int): 6089 return CollectionModificationStatus(super().AddJoint(item1)) 6090 6091 return CollectionModificationStatus[self._Entity.AddJoint(item1._Entity).ToString()]
6093 def AddPanelSegment(self, item1 = None) -> CollectionModificationStatus: 6094 if isinstance(item1, PanelSegment): 6095 return CollectionModificationStatus[self._Entity.AddPanelSegment(item1._Entity).ToString()] 6096 6097 if isinstance(item1, int): 6098 return CollectionModificationStatus(super().AddPanelSegment(item1)) 6099 6100 return CollectionModificationStatus[self._Entity.AddPanelSegment(item1._Entity).ToString()]
6002 def AddPfemProperties(self, pfemPropertyIds: tuple[int]) -> CollectionModificationStatus: 6003 pfemPropertyIdsList = MakeCSharpIntList(pfemPropertyIds) 6004 pfemPropertyIdsEnumerable = IEnumerable(pfemPropertyIdsList) 6005 return CollectionModificationStatus[self._Entity.AddPfemProperties(pfemPropertyIdsEnumerable).ToString()]
6102 def AddZones(self, item1 = None) -> CollectionModificationStatus: 6103 if isinstance(item1, tuple) and item1 and isinstance(item1[0], Zone): 6104 zonesList = List[_api.Zone]() 6105 if item1 is not None: 6106 for thing in item1: 6107 if thing is not None: 6108 zonesList.Add(thing._Entity) 6109 zonesEnumerable = IEnumerable(zonesList) 6110 return CollectionModificationStatus[self._Entity.AddZones(zonesEnumerable).ToString()] 6111 6112 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int): 6113 return CollectionModificationStatus(super().AddZones(item1)) 6114 6115 return CollectionModificationStatus[self._Entity.AddZones(item1).ToString()]
6010 def CreateZone(self, elementIds: tuple[int], name: str = None) -> Zone: 6011 elementIdsList = MakeCSharpIntList(elementIds) 6012 elementIdsEnumerable = IEnumerable(elementIdsList) 6013 result = self._Entity.CreateZone(elementIdsEnumerable, name) 6014 thisClass = type(result).__name__ 6015 givenClass = Zone 6016 for subclass in Zone.__subclasses__(): 6017 if subclass.__name__ == thisClass: 6018 givenClass = subclass 6019 return givenClass(result)
6021 def CreatePanelSegment(self, discreteTechnique: types.DiscreteTechnique, discreteElementLkp: dict[types.DiscreteDefinitionType, list[int]], name: str = None) -> PanelSegment: 6022 discreteElementLkpDict = Dictionary[_types.DiscreteDefinitionType, List[int]]() 6023 for kvp in discreteElementLkp: 6024 discreteElementLkpDict.Add(_types.DiscreteDefinitionType(kvp.value), MakeCSharpIntList(discreteElementLkp[kvp])) 6025 return PanelSegment(self._Entity.CreatePanelSegment(_types.DiscreteTechnique(discreteTechnique.value), discreteElementLkpDict, name))
6117 def Remove(self, item1 = None, item2 = None, item3 = None) -> CollectionModificationStatus: 6118 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int) and isinstance(item2, tuple) and item2 and isinstance(item2[0], int) and isinstance(item3, tuple) and item3 and isinstance(item3[0], int): 6119 zoneIdsList = MakeCSharpIntList(item1) 6120 zoneIdsEnumerable = IEnumerable(zoneIdsList) 6121 jointIdsList = MakeCSharpIntList(item2) 6122 jointIdsEnumerable = IEnumerable(jointIdsList) 6123 panelSegmentIdsList = MakeCSharpIntList(item3) 6124 panelSegmentIdsEnumerable = IEnumerable(panelSegmentIdsList) 6125 return CollectionModificationStatus[self._Entity.Remove(zoneIdsEnumerable, jointIdsEnumerable, panelSegmentIdsEnumerable).ToString()] 6126 6127 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int) and isinstance(item2, tuple) and item2 and isinstance(item2[0], int): 6128 zoneIdsList = MakeCSharpIntList(item1) 6129 zoneIdsEnumerable = IEnumerable(zoneIdsList) 6130 jointIdsList = MakeCSharpIntList(item2) 6131 jointIdsEnumerable = IEnumerable(jointIdsList) 6132 return CollectionModificationStatus[self._Entity.Remove(zoneIdsEnumerable, jointIdsEnumerable).ToString()] 6133 6134 return CollectionModificationStatus[self._Entity.Remove(item1, item2, item3).ToString()]
6136 def RemoveJoints(self, item1 = None) -> CollectionModificationStatus: 6137 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int): 6138 jointIdsList = MakeCSharpIntList(item1) 6139 jointIdsEnumerable = IEnumerable(jointIdsList) 6140 return CollectionModificationStatus[self._Entity.RemoveJoints(jointIdsEnumerable).ToString()] 6141 6142 if isinstance(item1, JointCol): 6143 return CollectionModificationStatus(super().RemoveJoints(item1)) 6144 6145 return CollectionModificationStatus[self._Entity.RemoveJoints(item1).ToString()]
6147 def RemovePanelSegments(self, item1 = None) -> CollectionModificationStatus: 6148 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int): 6149 segmentIdsList = MakeCSharpIntList(item1) 6150 segmentIdsEnumerable = IEnumerable(segmentIdsList) 6151 return CollectionModificationStatus[self._Entity.RemovePanelSegments(segmentIdsEnumerable).ToString()] 6152 6153 if isinstance(item1, PanelSegmentCol): 6154 return CollectionModificationStatus(super().RemovePanelSegments(item1)) 6155 6156 return CollectionModificationStatus[self._Entity.RemovePanelSegments(item1).ToString()]
6158 def RemoveZones(self, item1 = None) -> CollectionModificationStatus: 6159 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int): 6160 zoneIdsList = MakeCSharpIntList(item1) 6161 zoneIdsEnumerable = IEnumerable(zoneIdsList) 6162 return CollectionModificationStatus[self._Entity.RemoveZones(zoneIdsEnumerable).ToString()] 6163 6164 if isinstance(item1, ZoneCol): 6165 return CollectionModificationStatus(super().RemoveZones(item1)) 6166 6167 return CollectionModificationStatus[self._Entity.RemoveZones(item1).ToString()]
6169 def RemoveJoint(self, item1 = None) -> CollectionModificationStatus: 6170 if isinstance(item1, int): 6171 return CollectionModificationStatus(super().RemoveJoint(item1)) 6172 6173 if isinstance(item1, Joint): 6174 return CollectionModificationStatus(super().RemoveJoint(item1)) 6175 6176 return CollectionModificationStatus[self._Entity.RemoveJoint(item1).ToString()]
6178 def AddZone(self, item1 = None) -> CollectionModificationStatus: 6179 if isinstance(item1, int): 6180 return CollectionModificationStatus(super().AddZone(item1)) 6181 6182 if isinstance(item1, Zone): 6183 return CollectionModificationStatus(super().AddZone(item1)) 6184 6185 return CollectionModificationStatus[self._Entity.AddZone(item1).ToString()]
6187 def RemoveZone(self, item1 = None) -> CollectionModificationStatus: 6188 if isinstance(item1, int): 6189 return CollectionModificationStatus(super().RemoveZone(item1)) 6190 6191 if isinstance(item1, Zone): 6192 return CollectionModificationStatus(super().RemoveZone(item1)) 6193 6194 return CollectionModificationStatus[self._Entity.RemoveZone(item1).ToString()]
6196 def RemovePanelSegment(self, item1 = None) -> CollectionModificationStatus: 6197 if isinstance(item1, int): 6198 return CollectionModificationStatus(super().RemovePanelSegment(item1)) 6199 6200 if isinstance(item1, PanelSegment): 6201 return CollectionModificationStatus(super().RemovePanelSegment(item1)) 6202 6203 return CollectionModificationStatus[self._Entity.RemovePanelSegment(item1).ToString()]
6206class AnalysisPropertyCol(IdNameEntityCol[AnalysisProperty]): 6207 def __init__(self, analysisPropertyCol: _api.AnalysisPropertyCol): 6208 self._Entity = analysisPropertyCol 6209 self._CollectedClass = AnalysisProperty 6210 6211 @property 6212 def AnalysisPropertyColList(self) -> tuple[AnalysisProperty]: 6213 return tuple([AnalysisProperty(analysisPropertyCol) for analysisPropertyCol in self._Entity]) 6214 6215 def CreateAnalysisProperty(self, type: types.FamilyCategory, name: str = None) -> AnalysisProperty: 6216 ''' 6217 Create an AnalysisProperty. 6218 ''' 6219 return AnalysisProperty(self._Entity.CreateAnalysisProperty(_types.FamilyCategory(type.value), name)) 6220 6221 @overload 6222 def DeleteAnalysisProperty(self, name: str) -> bool: ... 6223 6224 @overload 6225 def DeleteAnalysisProperty(self, id: int) -> bool: ... 6226 6227 @overload 6228 def Get(self, name: str) -> AnalysisProperty: ... 6229 6230 @overload 6231 def Get(self, id: int) -> AnalysisProperty: ... 6232 6233 def DeleteAnalysisProperty(self, item1 = None) -> bool: 6234 if isinstance(item1, str): 6235 return self._Entity.DeleteAnalysisProperty(item1) 6236 6237 if isinstance(item1, int): 6238 return self._Entity.DeleteAnalysisProperty(item1) 6239 6240 return self._Entity.DeleteAnalysisProperty(item1) 6241 6242 def Get(self, item1 = None) -> AnalysisProperty: 6243 if isinstance(item1, str): 6244 return AnalysisProperty(super().Get(item1)) 6245 6246 if isinstance(item1, int): 6247 return AnalysisProperty(super().Get(item1)) 6248 6249 return AnalysisProperty(self._Entity.Get(item1)) 6250 6251 def __getitem__(self, index: int): 6252 return self.AnalysisPropertyColList[index] 6253 6254 def __iter__(self): 6255 yield from self.AnalysisPropertyColList 6256 6257 def __len__(self): 6258 return len(self.AnalysisPropertyColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
6215 def CreateAnalysisProperty(self, type: types.FamilyCategory, name: str = None) -> AnalysisProperty: 6216 ''' 6217 Create an AnalysisProperty. 6218 ''' 6219 return AnalysisProperty(self._Entity.CreateAnalysisProperty(_types.FamilyCategory(type.value), name))
Create an AnalysisProperty.
Inherited Members
6261class DesignPropertyCol(IdNameEntityCol[DesignProperty]): 6262 def __init__(self, designPropertyCol: _api.DesignPropertyCol): 6263 self._Entity = designPropertyCol 6264 self._CollectedClass = DesignProperty 6265 6266 @property 6267 def DesignPropertyColList(self) -> tuple[DesignProperty]: 6268 return tuple([DesignProperty(designPropertyCol) for designPropertyCol in self._Entity]) 6269 6270 def CreateDesignProperty(self, familyConcept: types.FamilyConceptUID, materialMode: types.MaterialMode = types.MaterialMode.Any, name: str = None) -> DesignProperty: 6271 ''' 6272 Create a DesignProperty. 6273 ''' 6274 result = self._Entity.CreateDesignProperty(_types.FamilyConceptUID(familyConcept.value), _types.MaterialMode(materialMode.value), name) 6275 thisClass = type(result).__name__ 6276 givenClass = DesignProperty 6277 for subclass in DesignProperty.__subclasses__(): 6278 if subclass.__name__ == thisClass: 6279 givenClass = subclass 6280 return givenClass(result) 6281 6282 @overload 6283 def Get(self, name: str) -> DesignProperty: ... 6284 6285 @overload 6286 def Get(self, id: int) -> DesignProperty: ... 6287 6288 def Get(self, item1 = None) -> DesignProperty: 6289 if isinstance(item1, str): 6290 return DesignProperty(super().Get(item1)) 6291 6292 if isinstance(item1, int): 6293 return DesignProperty(super().Get(item1)) 6294 6295 result = self._Entity.Get(item1) 6296 thisClass = type(result).__name__ 6297 givenClass = DesignProperty 6298 for subclass in DesignProperty.__subclasses__(): 6299 if subclass.__name__ == thisClass: 6300 givenClass = subclass 6301 return givenClass(result) 6302 6303 def __getitem__(self, index: int): 6304 return self.DesignPropertyColList[index] 6305 6306 def __iter__(self): 6307 yield from self.DesignPropertyColList 6308 6309 def __len__(self): 6310 return len(self.DesignPropertyColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
6270 def CreateDesignProperty(self, familyConcept: types.FamilyConceptUID, materialMode: types.MaterialMode = types.MaterialMode.Any, name: str = None) -> DesignProperty: 6271 ''' 6272 Create a DesignProperty. 6273 ''' 6274 result = self._Entity.CreateDesignProperty(_types.FamilyConceptUID(familyConcept.value), _types.MaterialMode(materialMode.value), name) 6275 thisClass = type(result).__name__ 6276 givenClass = DesignProperty 6277 for subclass in DesignProperty.__subclasses__(): 6278 if subclass.__name__ == thisClass: 6279 givenClass = subclass 6280 return givenClass(result)
Create a DesignProperty.
6288 def Get(self, item1 = None) -> DesignProperty: 6289 if isinstance(item1, str): 6290 return DesignProperty(super().Get(item1)) 6291 6292 if isinstance(item1, int): 6293 return DesignProperty(super().Get(item1)) 6294 6295 result = self._Entity.Get(item1) 6296 thisClass = type(result).__name__ 6297 givenClass = DesignProperty 6298 for subclass in DesignProperty.__subclasses__(): 6299 if subclass.__name__ == thisClass: 6300 givenClass = subclass 6301 return givenClass(result)
Inherited Members
6313class LoadPropertyCol(IdNameEntityCol[LoadProperty]): 6314 def __init__(self, loadPropertyCol: _api.LoadPropertyCol): 6315 self._Entity = loadPropertyCol 6316 self._CollectedClass = LoadProperty 6317 6318 @property 6319 def LoadPropertyColList(self) -> tuple[LoadProperty]: 6320 return tuple([LoadProperty(loadPropertyCol) for loadPropertyCol in self._Entity]) 6321 6322 def CreateLoadProperty(self, loadPropertyType: types.LoadPropertyType, category: types.FamilyCategory, name: str = None) -> LoadProperty: 6323 ''' 6324 Create a new load property. 6325 ''' 6326 result = self._Entity.CreateLoadProperty(_types.LoadPropertyType(loadPropertyType.value), _types.FamilyCategory(category.value), name) 6327 thisClass = type(result).__name__ 6328 givenClass = LoadProperty 6329 for subclass in LoadProperty.__subclasses__(): 6330 if subclass.__name__ == thisClass: 6331 givenClass = subclass 6332 return givenClass(result) 6333 6334 @overload 6335 def DeleteLoadProperty(self, id: int) -> bool: ... 6336 6337 @overload 6338 def DeleteLoadProperty(self, name: str) -> bool: ... 6339 6340 @overload 6341 def Get(self, name: str) -> LoadProperty: ... 6342 6343 @overload 6344 def Get(self, id: int) -> LoadProperty: ... 6345 6346 def DeleteLoadProperty(self, item1 = None) -> bool: 6347 if isinstance(item1, int): 6348 return self._Entity.DeleteLoadProperty(item1) 6349 6350 if isinstance(item1, str): 6351 return self._Entity.DeleteLoadProperty(item1) 6352 6353 return self._Entity.DeleteLoadProperty(item1) 6354 6355 def Get(self, item1 = None) -> LoadProperty: 6356 if isinstance(item1, str): 6357 return LoadProperty(super().Get(item1)) 6358 6359 if isinstance(item1, int): 6360 return LoadProperty(super().Get(item1)) 6361 6362 result = self._Entity.Get(item1) 6363 thisClass = type(result).__name__ 6364 givenClass = LoadProperty 6365 for subclass in LoadProperty.__subclasses__(): 6366 if subclass.__name__ == thisClass: 6367 givenClass = subclass 6368 return givenClass(result) 6369 6370 def __getitem__(self, index: int): 6371 return self.LoadPropertyColList[index] 6372 6373 def __iter__(self): 6374 yield from self.LoadPropertyColList 6375 6376 def __len__(self): 6377 return len(self.LoadPropertyColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
6322 def CreateLoadProperty(self, loadPropertyType: types.LoadPropertyType, category: types.FamilyCategory, name: str = None) -> LoadProperty: 6323 ''' 6324 Create a new load property. 6325 ''' 6326 result = self._Entity.CreateLoadProperty(_types.LoadPropertyType(loadPropertyType.value), _types.FamilyCategory(category.value), name) 6327 thisClass = type(result).__name__ 6328 givenClass = LoadProperty 6329 for subclass in LoadProperty.__subclasses__(): 6330 if subclass.__name__ == thisClass: 6331 givenClass = subclass 6332 return givenClass(result)
Create a new load property.
6355 def Get(self, item1 = None) -> LoadProperty: 6356 if isinstance(item1, str): 6357 return LoadProperty(super().Get(item1)) 6358 6359 if isinstance(item1, int): 6360 return LoadProperty(super().Get(item1)) 6361 6362 result = self._Entity.Get(item1) 6363 thisClass = type(result).__name__ 6364 givenClass = LoadProperty 6365 for subclass in LoadProperty.__subclasses__(): 6366 if subclass.__name__ == thisClass: 6367 givenClass = subclass 6368 return givenClass(result)
Inherited Members
6380class DesignLoadCol(IdNameEntityCol[DesignLoad]): 6381 def __init__(self, designLoadCol: _api.DesignLoadCol): 6382 self._Entity = designLoadCol 6383 self._CollectedClass = DesignLoad 6384 6385 @property 6386 def DesignLoadColList(self) -> tuple[DesignLoad]: 6387 return tuple([DesignLoad(designLoadCol) for designLoadCol in self._Entity]) 6388 6389 @overload 6390 def Get(self, name: str) -> DesignLoad: ... 6391 6392 @overload 6393 def Get(self, id: int) -> DesignLoad: ... 6394 6395 def Get(self, item1 = None) -> DesignLoad: 6396 if isinstance(item1, str): 6397 return DesignLoad(super().Get(item1)) 6398 6399 if isinstance(item1, int): 6400 return DesignLoad(super().Get(item1)) 6401 6402 return DesignLoad(self._Entity.Get(item1)) 6403 6404 def __getitem__(self, index: int): 6405 return self.DesignLoadColList[index] 6406 6407 def __iter__(self): 6408 yield from self.DesignLoadColList 6409 6410 def __len__(self): 6411 return len(self.DesignLoadColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
Inherited Members
6414class DiscreteFieldCol(IdNameEntityCol[DiscreteField]): 6415 def __init__(self, discreteFieldCol: _api.DiscreteFieldCol): 6416 self._Entity = discreteFieldCol 6417 self._CollectedClass = DiscreteField 6418 6419 @property 6420 def DiscreteFieldColList(self) -> tuple[DiscreteField]: 6421 return tuple([DiscreteField(discreteFieldCol) for discreteFieldCol in self._Entity]) 6422 6423 def Create(self, entityType: types.DiscreteFieldPhysicalEntityType, dataType: types.DiscreteFieldDataType, name: str = None) -> DiscreteField: 6424 ''' 6425 Create a new DiscreteField. 6426 ''' 6427 return DiscreteField(self._Entity.Create(_types.DiscreteFieldPhysicalEntityType(entityType.value), _types.DiscreteFieldDataType(dataType.value), name)) 6428 6429 def CreateFromVCP(self, filepath: str) -> list[DiscreteField]: 6430 ''' 6431 Create a list of DiscreteFields from VCP. 6432 ''' 6433 return [DiscreteField(discreteField) for discreteField in self._Entity.CreateFromVCP(filepath)] 6434 6435 def Delete(self, id: int) -> CollectionModificationStatus: 6436 ''' 6437 In the event of getting a CollectionModificationStatus.EntityMissingRemovalFailure, 6438 note that the discrete field is associated with a ply, and therefore cannot be deleted. 6439 ''' 6440 return CollectionModificationStatus[self._Entity.Delete(id).ToString()] 6441 6442 def CreateByPointMapToElements(self, elementIds: list[int], discreteFieldIds: list[int], suffix: str = None, tolerance: float = None) -> list[DiscreteField]: 6443 elementIdsList = MakeCSharpIntList(elementIds) 6444 discreteFieldIdsList = MakeCSharpIntList(discreteFieldIds) 6445 return [DiscreteField(discreteField) for discreteField in self._Entity.CreateByPointMapToElements(elementIdsList, discreteFieldIdsList, suffix, tolerance)] 6446 6447 @overload 6448 def Get(self, name: str) -> DiscreteField: ... 6449 6450 @overload 6451 def Get(self, id: int) -> DiscreteField: ... 6452 6453 def Get(self, item1 = None) -> DiscreteField: 6454 if isinstance(item1, str): 6455 return DiscreteField(super().Get(item1)) 6456 6457 if isinstance(item1, int): 6458 return DiscreteField(super().Get(item1)) 6459 6460 return DiscreteField(self._Entity.Get(item1)) 6461 6462 def __getitem__(self, index: int): 6463 return self.DiscreteFieldColList[index] 6464 6465 def __iter__(self): 6466 yield from self.DiscreteFieldColList 6467 6468 def __len__(self): 6469 return len(self.DiscreteFieldColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
6423 def Create(self, entityType: types.DiscreteFieldPhysicalEntityType, dataType: types.DiscreteFieldDataType, name: str = None) -> DiscreteField: 6424 ''' 6425 Create a new DiscreteField. 6426 ''' 6427 return DiscreteField(self._Entity.Create(_types.DiscreteFieldPhysicalEntityType(entityType.value), _types.DiscreteFieldDataType(dataType.value), name))
Create a new DiscreteField.
6429 def CreateFromVCP(self, filepath: str) -> list[DiscreteField]: 6430 ''' 6431 Create a list of DiscreteFields from VCP. 6432 ''' 6433 return [DiscreteField(discreteField) for discreteField in self._Entity.CreateFromVCP(filepath)]
Create a list of DiscreteFields from VCP.
6435 def Delete(self, id: int) -> CollectionModificationStatus: 6436 ''' 6437 In the event of getting a CollectionModificationStatus.EntityMissingRemovalFailure, 6438 note that the discrete field is associated with a ply, and therefore cannot be deleted. 6439 ''' 6440 return CollectionModificationStatus[self._Entity.Delete(id).ToString()]
In the event of getting a CollectionModificationStatus.EntityMissingRemovalFailure, note that the discrete field is associated with a ply, and therefore cannot be deleted.
6442 def CreateByPointMapToElements(self, elementIds: list[int], discreteFieldIds: list[int], suffix: str = None, tolerance: float = None) -> list[DiscreteField]: 6443 elementIdsList = MakeCSharpIntList(elementIds) 6444 discreteFieldIdsList = MakeCSharpIntList(discreteFieldIds) 6445 return [DiscreteField(discreteField) for discreteField in self._Entity.CreateByPointMapToElements(elementIdsList, discreteFieldIdsList, suffix, tolerance)]
Inherited Members
6472class ZoneJointContainerCol(IdNameEntityCol, Generic[T]): 6473 def __init__(self, zoneJointContainerCol: _api.ZoneJointContainerCol): 6474 self._Entity = zoneJointContainerCol 6475 self._CollectedClass = T 6476 6477 @property 6478 def ZoneJointContainerColList(self) -> tuple[T]: 6479 if self._Entity.Count() <= 0: 6480 return () 6481 thisClass = type(self._Entity._items[0]).__name__ 6482 givenClass = T 6483 for subclass in T.__subclasses__(): 6484 if subclass.__name__ == thisClass: 6485 givenClass = subclass 6486 return tuple([givenClass(zoneJointContainerCol) for zoneJointContainerCol in self._Entity]) 6487 6488 @abstractmethod 6489 def Create(self, name: str) -> T: 6490 return self._Entity.Create(name) 6491 6492 @overload 6493 def Get(self, name: str) -> T: ... 6494 6495 @overload 6496 def Get(self, id: int) -> T: ... 6497 6498 def Get(self, item1 = None) -> T: 6499 if isinstance(item1, str): 6500 return super().Get(item1) 6501 6502 if isinstance(item1, int): 6503 return super().Get(item1) 6504 6505 return self._Entity.Get(item1) 6506 6507 def __getitem__(self, index: int): 6508 return self.ZoneJointContainerColList[index] 6509 6510 def __iter__(self): 6511 yield from self.ZoneJointContainerColList 6512 6513 def __len__(self): 6514 return len(self.ZoneJointContainerColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
6477 @property 6478 def ZoneJointContainerColList(self) -> tuple[T]: 6479 if self._Entity.Count() <= 0: 6480 return () 6481 thisClass = type(self._Entity._items[0]).__name__ 6482 givenClass = T 6483 for subclass in T.__subclasses__(): 6484 if subclass.__name__ == thisClass: 6485 givenClass = subclass 6486 return tuple([givenClass(zoneJointContainerCol) for zoneJointContainerCol in self._Entity])
Inherited Members
6517class RundeckCol(IdEntityCol[Rundeck]): 6518 def __init__(self, rundeckCol: _api.RundeckCol): 6519 self._Entity = rundeckCol 6520 self._CollectedClass = Rundeck 6521 6522 @property 6523 def RundeckColList(self) -> tuple[Rundeck]: 6524 return tuple([Rundeck(rundeckCol) for rundeckCol in self._Entity]) 6525 6526 def AddRundeck(self, inputPath: str, resultPath: str = None) -> Rundeck: 6527 ''' 6528 The specified rundeck at the given filepath will be added to the project's 6529 collection of rundecks 6530 :param inputPath: The path to the rundeck 6531 :param resultPath: The path to the rundeck's corresponding result file 6532 ''' 6533 return Rundeck(self._Entity.AddRundeck(inputPath, resultPath)) 6534 6535 def ReassignPrimary(self, id: int) -> RundeckUpdateStatus: 6536 ''' 6537 The specified rundeck will be updated to become the new primary rundeck. 6538 ''' 6539 return RundeckUpdateStatus[self._Entity.ReassignPrimary(id).ToString()] 6540 6541 def RemoveRundeck(self, id: int) -> RundeckRemoveStatus: 6542 ''' 6543 The specified rundeck at the given filepath will be removed from the project's 6544 collection of rundecks 6545 :param id: The id of the rundeck to remove 6546 ''' 6547 return RundeckRemoveStatus[self._Entity.RemoveRundeck(id).ToString()] 6548 6549 def UpdateAllRundecks(self, newPaths: list[RundeckPathPair]) -> RundeckBulkUpdateStatus: 6550 newPathsList = List[_api.RundeckPathPair]() 6551 if newPaths is not None: 6552 for thing in newPaths: 6553 if thing is not None: 6554 newPathsList.Add(thing._Entity) 6555 return RundeckBulkUpdateStatus[self._Entity.UpdateAllRundecks(newPathsList).ToString()] 6556 6557 def GetRundeckPathSetters(self) -> list[RundeckPathPair]: 6558 ''' 6559 Get RundeckPathSetters to be edited and input to UpdateAllRundecks. 6560 ''' 6561 return [RundeckPathPair(rundeckPathPair) for rundeckPathPair in self._Entity.GetRundeckPathSetters()] 6562 6563 def ReplaceStringInAllPaths(self, stringToReplace: str, newString: str) -> RundeckBulkUpdateStatus: 6564 ''' 6565 Replace a given string with a new string in every rundeck path. This is useful when pointing to rundecks of the same name in a new directory. 6566 ''' 6567 return RundeckBulkUpdateStatus[self._Entity.ReplaceStringInAllPaths(stringToReplace, newString).ToString()] 6568 6569 def __getitem__(self, index: int): 6570 return self.RundeckColList[index] 6571 6572 def __iter__(self): 6573 yield from self.RundeckColList 6574 6575 def __len__(self): 6576 return len(self.RundeckColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
6526 def AddRundeck(self, inputPath: str, resultPath: str = None) -> Rundeck: 6527 ''' 6528 The specified rundeck at the given filepath will be added to the project's 6529 collection of rundecks 6530 :param inputPath: The path to the rundeck 6531 :param resultPath: The path to the rundeck's corresponding result file 6532 ''' 6533 return Rundeck(self._Entity.AddRundeck(inputPath, resultPath))
The specified rundeck at the given filepath will be added to the project's collection of rundecks :param inputPath: The path to the rundeck :param resultPath: The path to the rundeck's corresponding result file
6535 def ReassignPrimary(self, id: int) -> RundeckUpdateStatus: 6536 ''' 6537 The specified rundeck will be updated to become the new primary rundeck. 6538 ''' 6539 return RundeckUpdateStatus[self._Entity.ReassignPrimary(id).ToString()]
The specified rundeck will be updated to become the new primary rundeck.
6541 def RemoveRundeck(self, id: int) -> RundeckRemoveStatus: 6542 ''' 6543 The specified rundeck at the given filepath will be removed from the project's 6544 collection of rundecks 6545 :param id: The id of the rundeck to remove 6546 ''' 6547 return RundeckRemoveStatus[self._Entity.RemoveRundeck(id).ToString()]
The specified rundeck at the given filepath will be removed from the project's collection of rundecks :param id: The id of the rundeck to remove
6549 def UpdateAllRundecks(self, newPaths: list[RundeckPathPair]) -> RundeckBulkUpdateStatus: 6550 newPathsList = List[_api.RundeckPathPair]() 6551 if newPaths is not None: 6552 for thing in newPaths: 6553 if thing is not None: 6554 newPathsList.Add(thing._Entity) 6555 return RundeckBulkUpdateStatus[self._Entity.UpdateAllRundecks(newPathsList).ToString()]
6557 def GetRundeckPathSetters(self) -> list[RundeckPathPair]: 6558 ''' 6559 Get RundeckPathSetters to be edited and input to UpdateAllRundecks. 6560 ''' 6561 return [RundeckPathPair(rundeckPathPair) for rundeckPathPair in self._Entity.GetRundeckPathSetters()]
Get RundeckPathSetters to be edited and input to UpdateAllRundecks.
6563 def ReplaceStringInAllPaths(self, stringToReplace: str, newString: str) -> RundeckBulkUpdateStatus: 6564 ''' 6565 Replace a given string with a new string in every rundeck path. This is useful when pointing to rundecks of the same name in a new directory. 6566 ''' 6567 return RundeckBulkUpdateStatus[self._Entity.ReplaceStringInAllPaths(stringToReplace, newString).ToString()]
Replace a given string with a new string in every rundeck path. This is useful when pointing to rundecks of the same name in a new directory.
Inherited Members
6579class SectionCutCol(IdNameEntityCol[SectionCut]): 6580 def __init__(self, sectionCutCol: _api.SectionCutCol): 6581 self._Entity = sectionCutCol 6582 self._CollectedClass = SectionCut 6583 6584 @property 6585 def SectionCutColList(self) -> tuple[SectionCut]: 6586 return tuple([SectionCut(sectionCutCol) for sectionCutCol in self._Entity]) 6587 6588 def Create(self, origin: Vector3d, normal: Vector3d, horizontal: Vector3d, name: str = None) -> SectionCut: 6589 return SectionCut(self._Entity.Create(origin._Entity, normal._Entity, horizontal._Entity, name)) 6590 6591 def Delete(self, id: int) -> CollectionModificationStatus: 6592 return CollectionModificationStatus[self._Entity.Delete(id).ToString()] 6593 6594 @overload 6595 def Get(self, name: str) -> SectionCut: ... 6596 6597 @overload 6598 def Get(self, id: int) -> SectionCut: ... 6599 6600 def Get(self, item1 = None) -> SectionCut: 6601 if isinstance(item1, str): 6602 return SectionCut(super().Get(item1)) 6603 6604 if isinstance(item1, int): 6605 return SectionCut(super().Get(item1)) 6606 6607 return SectionCut(self._Entity.Get(item1)) 6608 6609 def __getitem__(self, index: int): 6610 return self.SectionCutColList[index] 6611 6612 def __iter__(self): 6613 yield from self.SectionCutColList 6614 6615 def __len__(self): 6616 return len(self.SectionCutColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
Inherited Members
6619class SetCol(ZoneJointContainerCol[Set]): 6620 def __init__(self, setCol: _api.SetCol): 6621 self._Entity = setCol 6622 self._CollectedClass = Set 6623 6624 @property 6625 def SetColList(self) -> tuple[Set]: 6626 return tuple([Set(setCol) for setCol in self._Entity]) 6627 6628 def Create(self, name: str = None) -> Set: 6629 ''' 6630 Attempt to create a new Set. 6631 :param name: The name of the set to be created. 6632 ''' 6633 return Set(self._Entity.Create(name)) 6634 6635 @overload 6636 def Get(self, name: str) -> Set: ... 6637 6638 @overload 6639 def Get(self, id: int) -> Set: ... 6640 6641 def Get(self, item1 = None) -> Set: 6642 if isinstance(item1, str): 6643 return Set(super().Get(item1)) 6644 6645 if isinstance(item1, int): 6646 return Set(super().Get(item1)) 6647 6648 return Set(self._Entity.Get(item1)) 6649 6650 def __getitem__(self, index: int): 6651 return self.SetColList[index] 6652 6653 def __iter__(self): 6654 yield from self.SetColList 6655 6656 def __len__(self): 6657 return len(self.SetColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
6628 def Create(self, name: str = None) -> Set: 6629 ''' 6630 Attempt to create a new Set. 6631 :param name: The name of the set to be created. 6632 ''' 6633 return Set(self._Entity.Create(name))
Attempt to create a new Set.
Parameters
- name: The name of the set to be created.
6660class StructureCol(ZoneJointContainerCol[Structure]): 6661 def __init__(self, structureCol: _api.StructureCol): 6662 self._Entity = structureCol 6663 self._CollectedClass = Structure 6664 6665 @property 6666 def StructureColList(self) -> tuple[Structure]: 6667 return tuple([Structure(structureCol) for structureCol in self._Entity]) 6668 6669 def Create(self, name: str = None) -> Structure: 6670 ''' 6671 Attempt to create a new structure. 6672 If the specified name is already used, it will be deconflicted. 6673 :param name: The name of the structure to be created. 6674 ''' 6675 return Structure(self._Entity.Create(name)) 6676 6677 @overload 6678 def DeleteStructure(self, structure: Structure) -> bool: ... 6679 6680 @overload 6681 def DeleteStructure(self, name: str) -> bool: ... 6682 6683 @overload 6684 def DeleteStructure(self, id: int) -> bool: ... 6685 6686 @overload 6687 def Get(self, name: str) -> Structure: ... 6688 6689 @overload 6690 def Get(self, id: int) -> Structure: ... 6691 6692 def DeleteStructure(self, item1 = None) -> bool: 6693 if isinstance(item1, Structure): 6694 return self._Entity.DeleteStructure(item1._Entity) 6695 6696 if isinstance(item1, str): 6697 return self._Entity.DeleteStructure(item1) 6698 6699 if isinstance(item1, int): 6700 return self._Entity.DeleteStructure(item1) 6701 6702 return self._Entity.DeleteStructure(item1._Entity) 6703 6704 def Get(self, item1 = None) -> Structure: 6705 if isinstance(item1, str): 6706 return Structure(super().Get(item1)) 6707 6708 if isinstance(item1, int): 6709 return Structure(super().Get(item1)) 6710 6711 return Structure(self._Entity.Get(item1)) 6712 6713 def __getitem__(self, index: int): 6714 return self.StructureColList[index] 6715 6716 def __iter__(self): 6717 yield from self.StructureColList 6718 6719 def __len__(self): 6720 return len(self.StructureColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
6669 def Create(self, name: str = None) -> Structure: 6670 ''' 6671 Attempt to create a new structure. 6672 If the specified name is already used, it will be deconflicted. 6673 :param name: The name of the structure to be created. 6674 ''' 6675 return Structure(self._Entity.Create(name))
Attempt to create a new structure. If the specified name is already used, it will be deconflicted. :param name: The name of the structure to be created.
6692 def DeleteStructure(self, item1 = None) -> bool: 6693 if isinstance(item1, Structure): 6694 return self._Entity.DeleteStructure(item1._Entity) 6695 6696 if isinstance(item1, str): 6697 return self._Entity.DeleteStructure(item1) 6698 6699 if isinstance(item1, int): 6700 return self._Entity.DeleteStructure(item1) 6701 6702 return self._Entity.DeleteStructure(item1._Entity)
6723class Project: 6724 ''' 6725 Represents a HyperX project within a database. 6726 ''' 6727 def __init__(self, project: _api.Project): 6728 self._Entity = project 6729 6730 @property 6731 def HyperFea(self) -> HyperFea: 6732 result = self._Entity.HyperFea 6733 return HyperFea(result) if result is not None else None 6734 6735 @property 6736 def WorkingFolder(self) -> str: 6737 return self._Entity.WorkingFolder 6738 6739 @property 6740 def FemDataSet(self) -> FemDataSet: 6741 result = self._Entity.FemDataSet 6742 return FemDataSet(result) if result is not None else None 6743 6744 @property 6745 def Beams(self) -> ZoneCol: 6746 result = self._Entity.Beams 6747 return ZoneCol(result) if result is not None else None 6748 6749 @property 6750 def Id(self) -> int: 6751 return self._Entity.Id 6752 6753 @property 6754 def Joints(self) -> JointCol: 6755 result = self._Entity.Joints 6756 return JointCol(result) if result is not None else None 6757 6758 @property 6759 def Name(self) -> str: 6760 return self._Entity.Name 6761 6762 @property 6763 def Panels(self) -> ZoneCol: 6764 result = self._Entity.Panels 6765 return ZoneCol(result) if result is not None else None 6766 6767 @property 6768 def Rundecks(self) -> RundeckCol: 6769 result = self._Entity.Rundecks 6770 return RundeckCol(result) if result is not None else None 6771 6772 @property 6773 def Sets(self) -> SetCol: 6774 result = self._Entity.Sets 6775 return SetCol(result) if result is not None else None 6776 6777 @property 6778 def Structures(self) -> StructureCol: 6779 result = self._Entity.Structures 6780 return StructureCol(result) if result is not None else None 6781 6782 @property 6783 def Zones(self) -> ZoneCol: 6784 result = self._Entity.Zones 6785 return ZoneCol(result) if result is not None else None 6786 6787 @property 6788 def PanelSegments(self) -> PanelSegmentCol: 6789 result = self._Entity.PanelSegments 6790 return PanelSegmentCol(result) if result is not None else None 6791 6792 @property 6793 def SectionCuts(self) -> SectionCutCol: 6794 result = self._Entity.SectionCuts 6795 return SectionCutCol(result) if result is not None else None 6796 6797 @property 6798 def DesignLoads(self) -> DesignLoadCol: 6799 result = self._Entity.DesignLoads 6800 return DesignLoadCol(result) if result is not None else None 6801 6802 @property 6803 def DiscreteFieldTables(self) -> DiscreteFieldCol: 6804 result = self._Entity.DiscreteFieldTables 6805 return DiscreteFieldCol(result) if result is not None else None 6806 6807 @property 6808 def AnalysisProperties(self) -> AnalysisPropertyCol: 6809 result = self._Entity.AnalysisProperties 6810 return AnalysisPropertyCol(result) if result is not None else None 6811 6812 @property 6813 def DesignProperties(self) -> DesignPropertyCol: 6814 result = self._Entity.DesignProperties 6815 return DesignPropertyCol(result) if result is not None else None 6816 6817 @property 6818 def LoadProperties(self) -> LoadPropertyCol: 6819 result = self._Entity.LoadProperties 6820 return LoadPropertyCol(result) if result is not None else None 6821 6822 @property 6823 def FemFormat(self) -> types.ProjectModelFormat: 6824 return types.ProjectModelFormat[self._Entity.FemFormat.ToString()] 6825 6826 def Upload(self, uploadSetName: str, company: str, program: str, tags: list[str], notes: str, zoneIds: set[int], jointIds: set[int]) -> bool: 6827 tagsList = List[str]() 6828 if tags is not None: 6829 for thing in tags: 6830 if thing is not None: 6831 tagsList.Add(thing) 6832 zoneIdsSet = HashSet[int]() 6833 if zoneIds is not None: 6834 for thing in zoneIds: 6835 if thing is not None: 6836 zoneIdsSet.Add(thing) 6837 jointIdsSet = HashSet[int]() 6838 if jointIds is not None: 6839 for thing in jointIds: 6840 if thing is not None: 6841 jointIdsSet.Add(thing) 6842 return self._Entity.Upload(uploadSetName, company, program, tagsList, notes, zoneIdsSet, jointIdsSet) 6843 6844 def GetDashboardCompanies(self) -> list[str]: 6845 ''' 6846 This method fetches an array of Dashboard company names that are available to the user who is currently logged in. The URL and authentication token are taken from the last 6847 Dashboard login made through HyperX. 6848 ''' 6849 return list[str](self._Entity.GetDashboardCompanies()) 6850 6851 def GetDashboardPrograms(self, companyName: str) -> list[str]: 6852 ''' 6853 This method fetches an array of Dashboard program names that are available to the user who is currently logged in. The URL and authentication token are taken from the last 6854 Dashboard login made through HyperX. 6855 ''' 6856 return list[str](self._Entity.GetDashboardPrograms(companyName)) 6857 6858 def GetDashboardTags(self, companyName: str) -> list[str]: 6859 ''' 6860 This method fetches an array of Dashboard tags that are available to the user who is currently logged in. The URL and authentication token are taken from the last 6861 Dashboard login made through HyperX. 6862 ''' 6863 return list[str](self._Entity.GetDashboardTags(companyName)) 6864 6865 def Dispose(self) -> None: 6866 return self._Entity.Dispose() 6867 6868 def ImportFem(self) -> None: 6869 return self._Entity.ImportFem() 6870 6871 def ImportFeaResults(self, alwaysImport: bool = False) -> str: 6872 ''' 6873 Manually import design loads. 6874 :param alwaysImport: If true, loads are imported even if loads have already previously been imported. 6875 ''' 6876 return self._Entity.ImportFeaResults(alwaysImport) 6877 6878 def SetFemFormat(self, femFormat: types.ProjectModelFormat) -> None: 6879 return self._Entity.SetFemFormat(_types.ProjectModelFormat(femFormat.value)) 6880 6881 def SetFemUnits(self, femForceId: DbForceUnit, femLengthId: DbLengthUnit, femMassId: DbMassUnit, femTemperatureId: DbTemperatureUnit) -> SetUnitsStatus: 6882 return SetUnitsStatus[self._Entity.SetFemUnits(_api.DbForceUnit(femForceId.value), _api.DbLengthUnit(femLengthId.value), _api.DbMassUnit(femMassId.value), _api.DbTemperatureUnit(femTemperatureId.value)).ToString()] 6883 6884 def SizeJoints(self, joints: list[Joint] = None) -> types.SimpleStatus: 6885 jointsList = List[_api.Joint]() 6886 if joints is not None: 6887 for thing in joints: 6888 if thing is not None: 6889 jointsList.Add(thing._Entity) 6890 return types.SimpleStatus(self._Entity.SizeJoints(joints if joints is None else jointsList)) 6891 6892 def GetJointsWithoutResults(self, joints: list[Joint]) -> set[int]: 6893 jointsList = List[_api.Joint]() 6894 if joints is not None: 6895 for thing in joints: 6896 if thing is not None: 6897 jointsList.Add(thing._Entity) 6898 return set[int](self._Entity.GetJointsWithoutResults(jointsList)) 6899 6900 @overload 6901 def AnalyzeZones(self, zones: list[Zone] = None) -> types.SimpleStatus: ... 6902 6903 @overload 6904 def AnalyzeZones(self, zoneIds: list[int]) -> types.SimpleStatus: ... 6905 6906 @overload 6907 def SizeZones(self, zones: list[Zone] = None) -> types.SimpleStatus: ... 6908 6909 @overload 6910 def SizeZones(self, zoneIds: list[int]) -> types.SimpleStatus: ... 6911 6912 def CreateNonFeaZone(self, category: types.FamilyCategory, name: str = None) -> Zone: 6913 ''' 6914 Create a non-FEA zone by name and category. 6915 ''' 6916 result = self._Entity.CreateNonFeaZone(_types.FamilyCategory(category.value), name) 6917 thisClass = type(result).__name__ 6918 givenClass = Zone 6919 for subclass in Zone.__subclasses__(): 6920 if subclass.__name__ == thisClass: 6921 givenClass = subclass 6922 return givenClass(result) 6923 6924 def ReturnToUnusedFem(self, zoneNumbers: list[int] = None, jointIds: set[int] = None) -> None: 6925 zoneNumbersList = MakeCSharpIntList(zoneNumbers) 6926 jointIdsSet = HashSet[int]() 6927 if jointIds is not None: 6928 for thing in jointIds: 6929 if thing is not None: 6930 jointIdsSet.Add(thing) 6931 return self._Entity.ReturnToUnusedFem(zoneNumbers if zoneNumbers is None else zoneNumbersList, jointIds if jointIds is None else jointIdsSet) 6932 6933 def UnimportFemAsync(self) -> Task: 6934 return Task(self._Entity.UnimportFemAsync()) 6935 6936 def ExportFem(self, destinationFolder: str) -> None: 6937 return self._Entity.ExportFem(destinationFolder) 6938 6939 def ImportCad(self, filePath: str) -> None: 6940 ''' 6941 Import CAD from a file. 6942 ''' 6943 return self._Entity.ImportCad(filePath) 6944 6945 @overload 6946 def ExportCad(self, filePath: str) -> None: ... 6947 6948 @overload 6949 def ExportCad(self, cadIds: tuple[int], filePath: str) -> None: ... 6950 6951 def RegeneratePfem(self) -> None: 6952 ''' 6953 Regenerates and displays the preview FEM. If running a script outside of the Script Runner, 6954 do not call this method 6955 ''' 6956 return self._Entity.RegeneratePfem() 6957 6958 def AnalyzeZones(self, item1 = None) -> types.SimpleStatus: 6959 if isinstance(item1, list) and item1 and isinstance(item1[0], Zone): 6960 zonesList = List[_api.Zone]() 6961 if item1 is not None: 6962 for thing in item1: 6963 if thing is not None: 6964 zonesList.Add(thing._Entity) 6965 return types.SimpleStatus(self._Entity.AnalyzeZones(item1 if item1 is None else zonesList)) 6966 6967 if isinstance(item1, list) and item1 and isinstance(item1[0], int): 6968 zoneIdsList = MakeCSharpIntList(item1) 6969 return types.SimpleStatus(self._Entity.AnalyzeZones(zoneIdsList)) 6970 6971 return types.SimpleStatus(self._Entity.AnalyzeZones(item1)) 6972 6973 def SizeZones(self, item1 = None) -> types.SimpleStatus: 6974 if isinstance(item1, list) and item1 and isinstance(item1[0], Zone): 6975 zonesList = List[_api.Zone]() 6976 if item1 is not None: 6977 for thing in item1: 6978 if thing is not None: 6979 zonesList.Add(thing._Entity) 6980 return types.SimpleStatus(self._Entity.SizeZones(item1 if item1 is None else zonesList)) 6981 6982 if isinstance(item1, list) and item1 and isinstance(item1[0], int): 6983 zoneIdsList = MakeCSharpIntList(item1) 6984 return types.SimpleStatus(self._Entity.SizeZones(zoneIdsList)) 6985 6986 return types.SimpleStatus(self._Entity.SizeZones(item1)) 6987 6988 def ExportCad(self, item1 = None, item2 = None) -> None: 6989 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int) and isinstance(item2, str): 6990 cadIdsList = MakeCSharpIntList(item1) 6991 cadIdsEnumerable = IEnumerable(cadIdsList) 6992 return self._Entity.ExportCad(cadIdsEnumerable, item2) 6993 6994 if isinstance(item1, str): 6995 return self._Entity.ExportCad(item1) 6996 6997 return self._Entity.ExportCad(item1, item2)
Represents a HyperX project within a database.
6826 def Upload(self, uploadSetName: str, company: str, program: str, tags: list[str], notes: str, zoneIds: set[int], jointIds: set[int]) -> bool: 6827 tagsList = List[str]() 6828 if tags is not None: 6829 for thing in tags: 6830 if thing is not None: 6831 tagsList.Add(thing) 6832 zoneIdsSet = HashSet[int]() 6833 if zoneIds is not None: 6834 for thing in zoneIds: 6835 if thing is not None: 6836 zoneIdsSet.Add(thing) 6837 jointIdsSet = HashSet[int]() 6838 if jointIds is not None: 6839 for thing in jointIds: 6840 if thing is not None: 6841 jointIdsSet.Add(thing) 6842 return self._Entity.Upload(uploadSetName, company, program, tagsList, notes, zoneIdsSet, jointIdsSet)
6844 def GetDashboardCompanies(self) -> list[str]: 6845 ''' 6846 This method fetches an array of Dashboard company names that are available to the user who is currently logged in. The URL and authentication token are taken from the last 6847 Dashboard login made through HyperX. 6848 ''' 6849 return list[str](self._Entity.GetDashboardCompanies())
This method fetches an array of Dashboard company names that are available to the user who is currently logged in. The URL and authentication token are taken from the last Dashboard login made through HyperX.
6851 def GetDashboardPrograms(self, companyName: str) -> list[str]: 6852 ''' 6853 This method fetches an array of Dashboard program names that are available to the user who is currently logged in. The URL and authentication token are taken from the last 6854 Dashboard login made through HyperX. 6855 ''' 6856 return list[str](self._Entity.GetDashboardPrograms(companyName))
This method fetches an array of Dashboard program names that are available to the user who is currently logged in. The URL and authentication token are taken from the last Dashboard login made through HyperX.
6858 def GetDashboardTags(self, companyName: str) -> list[str]: 6859 ''' 6860 This method fetches an array of Dashboard tags that are available to the user who is currently logged in. The URL and authentication token are taken from the last 6861 Dashboard login made through HyperX. 6862 ''' 6863 return list[str](self._Entity.GetDashboardTags(companyName))
This method fetches an array of Dashboard tags that are available to the user who is currently logged in. The URL and authentication token are taken from the last Dashboard login made through HyperX.
6871 def ImportFeaResults(self, alwaysImport: bool = False) -> str: 6872 ''' 6873 Manually import design loads. 6874 :param alwaysImport: If true, loads are imported even if loads have already previously been imported. 6875 ''' 6876 return self._Entity.ImportFeaResults(alwaysImport)
Manually import design loads.
Parameters
- alwaysImport: If true, loads are imported even if loads have already previously been imported.
6881 def SetFemUnits(self, femForceId: DbForceUnit, femLengthId: DbLengthUnit, femMassId: DbMassUnit, femTemperatureId: DbTemperatureUnit) -> SetUnitsStatus: 6882 return SetUnitsStatus[self._Entity.SetFemUnits(_api.DbForceUnit(femForceId.value), _api.DbLengthUnit(femLengthId.value), _api.DbMassUnit(femMassId.value), _api.DbTemperatureUnit(femTemperatureId.value)).ToString()]
6884 def SizeJoints(self, joints: list[Joint] = None) -> types.SimpleStatus: 6885 jointsList = List[_api.Joint]() 6886 if joints is not None: 6887 for thing in joints: 6888 if thing is not None: 6889 jointsList.Add(thing._Entity) 6890 return types.SimpleStatus(self._Entity.SizeJoints(joints if joints is None else jointsList))
6958 def AnalyzeZones(self, item1 = None) -> types.SimpleStatus: 6959 if isinstance(item1, list) and item1 and isinstance(item1[0], Zone): 6960 zonesList = List[_api.Zone]() 6961 if item1 is not None: 6962 for thing in item1: 6963 if thing is not None: 6964 zonesList.Add(thing._Entity) 6965 return types.SimpleStatus(self._Entity.AnalyzeZones(item1 if item1 is None else zonesList)) 6966 6967 if isinstance(item1, list) and item1 and isinstance(item1[0], int): 6968 zoneIdsList = MakeCSharpIntList(item1) 6969 return types.SimpleStatus(self._Entity.AnalyzeZones(zoneIdsList)) 6970 6971 return types.SimpleStatus(self._Entity.AnalyzeZones(item1))
6973 def SizeZones(self, item1 = None) -> types.SimpleStatus: 6974 if isinstance(item1, list) and item1 and isinstance(item1[0], Zone): 6975 zonesList = List[_api.Zone]() 6976 if item1 is not None: 6977 for thing in item1: 6978 if thing is not None: 6979 zonesList.Add(thing._Entity) 6980 return types.SimpleStatus(self._Entity.SizeZones(item1 if item1 is None else zonesList)) 6981 6982 if isinstance(item1, list) and item1 and isinstance(item1[0], int): 6983 zoneIdsList = MakeCSharpIntList(item1) 6984 return types.SimpleStatus(self._Entity.SizeZones(zoneIdsList)) 6985 6986 return types.SimpleStatus(self._Entity.SizeZones(item1))
6912 def CreateNonFeaZone(self, category: types.FamilyCategory, name: str = None) -> Zone: 6913 ''' 6914 Create a non-FEA zone by name and category. 6915 ''' 6916 result = self._Entity.CreateNonFeaZone(_types.FamilyCategory(category.value), name) 6917 thisClass = type(result).__name__ 6918 givenClass = Zone 6919 for subclass in Zone.__subclasses__(): 6920 if subclass.__name__ == thisClass: 6921 givenClass = subclass 6922 return givenClass(result)
Create a non-FEA zone by name and category.
6924 def ReturnToUnusedFem(self, zoneNumbers: list[int] = None, jointIds: set[int] = None) -> None: 6925 zoneNumbersList = MakeCSharpIntList(zoneNumbers) 6926 jointIdsSet = HashSet[int]() 6927 if jointIds is not None: 6928 for thing in jointIds: 6929 if thing is not None: 6930 jointIdsSet.Add(thing) 6931 return self._Entity.ReturnToUnusedFem(zoneNumbers if zoneNumbers is None else zoneNumbersList, jointIds if jointIds is None else jointIdsSet)
6939 def ImportCad(self, filePath: str) -> None: 6940 ''' 6941 Import CAD from a file. 6942 ''' 6943 return self._Entity.ImportCad(filePath)
Import CAD from a file.
6988 def ExportCad(self, item1 = None, item2 = None) -> None: 6989 if isinstance(item1, tuple) and item1 and isinstance(item1[0], int) and isinstance(item2, str): 6990 cadIdsList = MakeCSharpIntList(item1) 6991 cadIdsEnumerable = IEnumerable(cadIdsList) 6992 return self._Entity.ExportCad(cadIdsEnumerable, item2) 6993 6994 if isinstance(item1, str): 6995 return self._Entity.ExportCad(item1) 6996 6997 return self._Entity.ExportCad(item1, item2)
6951 def RegeneratePfem(self) -> None: 6952 ''' 6953 Regenerates and displays the preview FEM. If running a script outside of the Script Runner, 6954 do not call this method 6955 ''' 6956 return self._Entity.RegeneratePfem()
Regenerates and displays the preview FEM. If running a script outside of the Script Runner, do not call this method
7000class ProjectInfo(IdNameEntityRenameable): 7001 def __init__(self, projectInfo: _api.ProjectInfo): 7002 self._Entity = projectInfo
Represents an entity with an ID and Name.
Inherited Members
7005class FailureModeCategoryCol(IdNameEntityCol[FailureModeCategory]): 7006 def __init__(self, failureModeCategoryCol: _api.FailureModeCategoryCol): 7007 self._Entity = failureModeCategoryCol 7008 self._CollectedClass = FailureModeCategory 7009 7010 @property 7011 def FailureModeCategoryColList(self) -> tuple[FailureModeCategory]: 7012 return tuple([FailureModeCategory(failureModeCategoryCol) for failureModeCategoryCol in self._Entity]) 7013 7014 @overload 7015 def Get(self, name: str) -> FailureModeCategory: ... 7016 7017 @overload 7018 def Get(self, id: int) -> FailureModeCategory: ... 7019 7020 def Get(self, item1 = None) -> FailureModeCategory: 7021 if isinstance(item1, str): 7022 return FailureModeCategory(super().Get(item1)) 7023 7024 if isinstance(item1, int): 7025 return FailureModeCategory(super().Get(item1)) 7026 7027 return FailureModeCategory(self._Entity.Get(item1)) 7028 7029 def __getitem__(self, index: int): 7030 return self.FailureModeCategoryColList[index] 7031 7032 def __iter__(self): 7033 yield from self.FailureModeCategoryColList 7034 7035 def __len__(self): 7036 return len(self.FailureModeCategoryColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
Inherited Members
7039class FoamCol(Generic[T]): 7040 def __init__(self, foamCol: _api.FoamCol): 7041 self._Entity = foamCol 7042 7043 @property 7044 def FoamColList(self) -> tuple[Foam]: 7045 return tuple([Foam(foamCol) for foamCol in self._Entity]) 7046 7047 def Count(self) -> int: 7048 return self._Entity.Count() 7049 7050 def Get(self, materialName: str) -> Foam: 7051 ''' 7052 Look up an Foam material by its name. 7053 ''' 7054 return Foam(self._Entity.Get(materialName)) 7055 7056 def Contains(self, materialName: str) -> bool: 7057 ''' 7058 Check if an foam material exists in this collection. 7059 ''' 7060 return self._Entity.Contains(materialName) 7061 7062 def Create(self, materialFamilyName: str, density: float, newMaterialName: str = None, femId: int = None) -> Foam: 7063 return Foam(self._Entity.Create(materialFamilyName, density, newMaterialName, femId)) 7064 7065 def Copy(self, fmToCopyName: str, newMaterialName: str = None, femId: int = None) -> Foam: 7066 return Foam(self._Entity.Copy(fmToCopyName, newMaterialName, femId)) 7067 7068 def Delete(self, materialName: str) -> bool: 7069 ''' 7070 Delete a foam material by name. 7071 Returns false if the method the material is not found. 7072 ''' 7073 return self._Entity.Delete(materialName) 7074 7075 def __getitem__(self, index: int): 7076 return self.FoamColList[index] 7077 7078 def __iter__(self): 7079 yield from self.FoamColList 7080 7081 def __len__(self): 7082 return len(self.FoamColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
7050 def Get(self, materialName: str) -> Foam: 7051 ''' 7052 Look up an Foam material by its name. 7053 ''' 7054 return Foam(self._Entity.Get(materialName))
Look up an Foam material by its name.
7056 def Contains(self, materialName: str) -> bool: 7057 ''' 7058 Check if an foam material exists in this collection. 7059 ''' 7060 return self._Entity.Contains(materialName)
Check if an foam material exists in this collection.
7068 def Delete(self, materialName: str) -> bool: 7069 ''' 7070 Delete a foam material by name. 7071 Returns false if the method the material is not found. 7072 ''' 7073 return self._Entity.Delete(materialName)
Delete a foam material by name. Returns false if the method the material is not found.
7085class HoneycombCol(Generic[T]): 7086 def __init__(self, honeycombCol: _api.HoneycombCol): 7087 self._Entity = honeycombCol 7088 7089 @property 7090 def HoneycombColList(self) -> tuple[Honeycomb]: 7091 return tuple([Honeycomb(honeycombCol) for honeycombCol in self._Entity]) 7092 7093 def Count(self) -> int: 7094 return self._Entity.Count() 7095 7096 def Get(self, materialName: str) -> Honeycomb: 7097 ''' 7098 Look up an Honeycomb material by its name. 7099 ''' 7100 return Honeycomb(self._Entity.Get(materialName)) 7101 7102 def Contains(self, materialName: str) -> bool: 7103 ''' 7104 Check if an honeycomb material exists in this collection. 7105 ''' 7106 return self._Entity.Contains(materialName) 7107 7108 def Create(self, materialFamilyName: str, density: float, newMaterialName: str = None, femId: int = None) -> Honeycomb: 7109 return Honeycomb(self._Entity.Create(materialFamilyName, density, newMaterialName, femId)) 7110 7111 def Copy(self, honeyToCopyName: str, newMaterialName: str = None, femId: int = None) -> Honeycomb: 7112 return Honeycomb(self._Entity.Copy(honeyToCopyName, newMaterialName, femId)) 7113 7114 def Delete(self, materialName: str) -> bool: 7115 ''' 7116 Delete a honeycomb material by name. 7117 Returns false if the method the material is not found. 7118 ''' 7119 return self._Entity.Delete(materialName) 7120 7121 def __getitem__(self, index: int): 7122 return self.HoneycombColList[index] 7123 7124 def __iter__(self): 7125 yield from self.HoneycombColList 7126 7127 def __len__(self): 7128 return len(self.HoneycombColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
7096 def Get(self, materialName: str) -> Honeycomb: 7097 ''' 7098 Look up an Honeycomb material by its name. 7099 ''' 7100 return Honeycomb(self._Entity.Get(materialName))
Look up an Honeycomb material by its name.
7102 def Contains(self, materialName: str) -> bool: 7103 ''' 7104 Check if an honeycomb material exists in this collection. 7105 ''' 7106 return self._Entity.Contains(materialName)
Check if an honeycomb material exists in this collection.
7114 def Delete(self, materialName: str) -> bool: 7115 ''' 7116 Delete a honeycomb material by name. 7117 Returns false if the method the material is not found. 7118 ''' 7119 return self._Entity.Delete(materialName)
Delete a honeycomb material by name. Returns false if the method the material is not found.
7131class IsotropicCol(Generic[T]): 7132 def __init__(self, isotropicCol: _api.IsotropicCol): 7133 self._Entity = isotropicCol 7134 7135 @property 7136 def IsotropicColList(self) -> tuple[Isotropic]: 7137 return tuple([Isotropic(isotropicCol) for isotropicCol in self._Entity]) 7138 7139 def Count(self) -> int: 7140 return self._Entity.Count() 7141 7142 def Get(self, materialName: str) -> Isotropic: 7143 ''' 7144 Look up an Isotropic material by its name. 7145 ''' 7146 return Isotropic(self._Entity.Get(materialName)) 7147 7148 def Contains(self, materialName: str) -> bool: 7149 ''' 7150 Check if an isotropic material exists in this collection. 7151 ''' 7152 return self._Entity.Contains(materialName) 7153 7154 def Create(self, materialFamilyName: str, density: float, newMaterialName: str = None, femId: int = None) -> Isotropic: 7155 return Isotropic(self._Entity.Create(materialFamilyName, density, newMaterialName, femId)) 7156 7157 def Copy(self, isoToCopyName: str, newMaterialName: str = None, femId: int = None) -> Isotropic: 7158 return Isotropic(self._Entity.Copy(isoToCopyName, newMaterialName, femId)) 7159 7160 def Delete(self, materialName: str) -> bool: 7161 ''' 7162 Delete an isotropic material by name. 7163 Returns false if the method the material is not found. 7164 ''' 7165 return self._Entity.Delete(materialName) 7166 7167 def __getitem__(self, index: int): 7168 return self.IsotropicColList[index] 7169 7170 def __iter__(self): 7171 yield from self.IsotropicColList 7172 7173 def __len__(self): 7174 return len(self.IsotropicColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
7142 def Get(self, materialName: str) -> Isotropic: 7143 ''' 7144 Look up an Isotropic material by its name. 7145 ''' 7146 return Isotropic(self._Entity.Get(materialName))
Look up an Isotropic material by its name.
7148 def Contains(self, materialName: str) -> bool: 7149 ''' 7150 Check if an isotropic material exists in this collection. 7151 ''' 7152 return self._Entity.Contains(materialName)
Check if an isotropic material exists in this collection.
7160 def Delete(self, materialName: str) -> bool: 7161 ''' 7162 Delete an isotropic material by name. 7163 Returns false if the method the material is not found. 7164 ''' 7165 return self._Entity.Delete(materialName)
Delete an isotropic material by name. Returns false if the method the material is not found.
7177class LaminateFamilyCol(IdNameEntityCol[LaminateFamily]): 7178 def __init__(self, laminateFamilyCol: _api.LaminateFamilyCol): 7179 self._Entity = laminateFamilyCol 7180 self._CollectedClass = LaminateFamily 7181 7182 @property 7183 def LaminateFamilyColList(self) -> tuple[LaminateFamily]: 7184 return tuple([LaminateFamily(laminateFamilyCol) for laminateFamilyCol in self._Entity]) 7185 7186 @overload 7187 def Get(self, name: str) -> LaminateFamily: ... 7188 7189 @overload 7190 def Get(self, id: int) -> LaminateFamily: ... 7191 7192 def Get(self, item1 = None) -> LaminateFamily: 7193 if isinstance(item1, str): 7194 return LaminateFamily(super().Get(item1)) 7195 7196 if isinstance(item1, int): 7197 return LaminateFamily(super().Get(item1)) 7198 7199 return LaminateFamily(self._Entity.Get(item1)) 7200 7201 def __getitem__(self, index: int): 7202 return self.LaminateFamilyColList[index] 7203 7204 def __iter__(self): 7205 yield from self.LaminateFamilyColList 7206 7207 def __len__(self): 7208 return len(self.LaminateFamilyColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
Inherited Members
7211class LaminateCol(Generic[T]): 7212 def __init__(self, laminateCol: _api.LaminateCol): 7213 self._Entity = laminateCol 7214 7215 @property 7216 def LaminateColList(self) -> tuple[Laminate]: 7217 return tuple([Laminate(laminateCol) for laminateCol in self._Entity]) 7218 7219 def Count(self) -> int: 7220 return self._Entity.Count() 7221 7222 def Get(self, laminateName: str) -> LaminateBase: 7223 ''' 7224 Look up a Laminate by its name. 7225 ''' 7226 result = self._Entity.Get(laminateName) 7227 thisClass = type(result).__name__ 7228 givenClass = LaminateBase 7229 for subclass in LaminateBase.__subclasses__(): 7230 if subclass.__name__ == thisClass: 7231 givenClass = subclass 7232 return givenClass(result) 7233 7234 def Contains(self, laminateName: str) -> bool: 7235 return self._Entity.Contains(laminateName) 7236 7237 def CreateLaminate(self, materialFamily: str, laminateName: str = None) -> Laminate: 7238 ''' 7239 Create laminate. 7240 ''' 7241 return Laminate(self._Entity.CreateLaminate(materialFamily, laminateName)) 7242 7243 def CreateStiffenerLaminate(self, materialFamily: str, stiffenerProfile: types.StiffenerProfile, laminateName: str = None) -> StiffenerLaminate: 7244 ''' 7245 Create a stiffener laminate. 7246 ''' 7247 return StiffenerLaminate(self._Entity.CreateStiffenerLaminate(materialFamily, _types.StiffenerProfile(stiffenerProfile.value), laminateName)) 7248 7249 def Copy(self, laminateToCopyName: str, newLaminateName: str = None) -> LaminateBase: 7250 ''' 7251 Copy a laminate material by name. 7252 ''' 7253 result = self._Entity.Copy(laminateToCopyName, newLaminateName) 7254 thisClass = type(result).__name__ 7255 givenClass = LaminateBase 7256 for subclass in LaminateBase.__subclasses__(): 7257 if subclass.__name__ == thisClass: 7258 givenClass = subclass 7259 return givenClass(result) 7260 7261 def Delete(self, name: str) -> bool: 7262 ''' 7263 Delete a laminate material by name. 7264 Returns false if the material is not found or removed. 7265 ''' 7266 return self._Entity.Delete(name) 7267 7268 def GetLaminate(self, name: str) -> Laminate: 7269 ''' 7270 Get a laminate by name. 7271 ''' 7272 return Laminate(self._Entity.GetLaminate(name)) 7273 7274 def GetStiffenerLaminate(self, name: str) -> StiffenerLaminate: 7275 ''' 7276 Get a stiffener laminate by name. 7277 ''' 7278 return StiffenerLaminate(self._Entity.GetStiffenerLaminate(name)) 7279 7280 def __getitem__(self, index: int): 7281 return self.LaminateColList[index] 7282 7283 def __iter__(self): 7284 yield from self.LaminateColList 7285 7286 def __len__(self): 7287 return len(self.LaminateColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
7222 def Get(self, laminateName: str) -> LaminateBase: 7223 ''' 7224 Look up a Laminate by its name. 7225 ''' 7226 result = self._Entity.Get(laminateName) 7227 thisClass = type(result).__name__ 7228 givenClass = LaminateBase 7229 for subclass in LaminateBase.__subclasses__(): 7230 if subclass.__name__ == thisClass: 7231 givenClass = subclass 7232 return givenClass(result)
Look up a Laminate by its name.
7237 def CreateLaminate(self, materialFamily: str, laminateName: str = None) -> Laminate: 7238 ''' 7239 Create laminate. 7240 ''' 7241 return Laminate(self._Entity.CreateLaminate(materialFamily, laminateName))
Create laminate.
7243 def CreateStiffenerLaminate(self, materialFamily: str, stiffenerProfile: types.StiffenerProfile, laminateName: str = None) -> StiffenerLaminate: 7244 ''' 7245 Create a stiffener laminate. 7246 ''' 7247 return StiffenerLaminate(self._Entity.CreateStiffenerLaminate(materialFamily, _types.StiffenerProfile(stiffenerProfile.value), laminateName))
Create a stiffener laminate.
7249 def Copy(self, laminateToCopyName: str, newLaminateName: str = None) -> LaminateBase: 7250 ''' 7251 Copy a laminate material by name. 7252 ''' 7253 result = self._Entity.Copy(laminateToCopyName, newLaminateName) 7254 thisClass = type(result).__name__ 7255 givenClass = LaminateBase 7256 for subclass in LaminateBase.__subclasses__(): 7257 if subclass.__name__ == thisClass: 7258 givenClass = subclass 7259 return givenClass(result)
Copy a laminate material by name.
7261 def Delete(self, name: str) -> bool: 7262 ''' 7263 Delete a laminate material by name. 7264 Returns false if the material is not found or removed. 7265 ''' 7266 return self._Entity.Delete(name)
Delete a laminate material by name. Returns false if the material is not found or removed.
7290class OrthotropicCol(Generic[T]): 7291 def __init__(self, orthotropicCol: _api.OrthotropicCol): 7292 self._Entity = orthotropicCol 7293 7294 @property 7295 def OrthotropicColList(self) -> tuple[Orthotropic]: 7296 return tuple([Orthotropic(orthotropicCol) for orthotropicCol in self._Entity]) 7297 7298 def Count(self) -> int: 7299 return self._Entity.Count() 7300 7301 def Get(self, materialName: str) -> Orthotropic: 7302 ''' 7303 Look up an Orthotropic material by its name. 7304 ''' 7305 return Orthotropic(self._Entity.Get(materialName)) 7306 7307 def Contains(self, materialName: str) -> bool: 7308 ''' 7309 Check if an orthotropic material exists in this collection. 7310 ''' 7311 return self._Entity.Contains(materialName) 7312 7313 def Create(self, materialFamilyName: str, thickness: float, density: float, newMaterialName: str = None, femId: int = None) -> Orthotropic: 7314 return Orthotropic(self._Entity.Create(materialFamilyName, thickness, density, newMaterialName, femId)) 7315 7316 def Copy(self, orthoToCopyName: str, newMaterialName: str = None, femId: int = None) -> Orthotropic: 7317 return Orthotropic(self._Entity.Copy(orthoToCopyName, newMaterialName, femId)) 7318 7319 def Delete(self, materialName: str) -> bool: 7320 ''' 7321 Delete an orthotropic material by name. 7322 Returns false if the method the material is not found. 7323 ''' 7324 return self._Entity.Delete(materialName) 7325 7326 def __getitem__(self, index: int): 7327 return self.OrthotropicColList[index] 7328 7329 def __iter__(self): 7330 yield from self.OrthotropicColList 7331 7332 def __len__(self): 7333 return len(self.OrthotropicColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
7301 def Get(self, materialName: str) -> Orthotropic: 7302 ''' 7303 Look up an Orthotropic material by its name. 7304 ''' 7305 return Orthotropic(self._Entity.Get(materialName))
Look up an Orthotropic material by its name.
7307 def Contains(self, materialName: str) -> bool: 7308 ''' 7309 Check if an orthotropic material exists in this collection. 7310 ''' 7311 return self._Entity.Contains(materialName)
Check if an orthotropic material exists in this collection.
7319 def Delete(self, materialName: str) -> bool: 7320 ''' 7321 Delete an orthotropic material by name. 7322 Returns false if the method the material is not found. 7323 ''' 7324 return self._Entity.Delete(materialName)
Delete an orthotropic material by name. Returns false if the method the material is not found.
7336class PluginPackageCol(IdNameEntityCol[PluginPackage]): 7337 def __init__(self, pluginPackageCol: _api.PluginPackageCol): 7338 self._Entity = pluginPackageCol 7339 self._CollectedClass = PluginPackage 7340 7341 @property 7342 def PluginPackageColList(self) -> tuple[PluginPackage]: 7343 return tuple([PluginPackage(pluginPackageCol) for pluginPackageCol in self._Entity]) 7344 7345 def AddPluginPackage(self, path: str) -> PluginPackage: 7346 ''' 7347 Add a plugin package by path. 7348 ''' 7349 return PluginPackage(self._Entity.AddPluginPackage(path)) 7350 7351 @overload 7352 def RemovePluginPackage(self, name: str) -> bool: ... 7353 7354 @overload 7355 def RemovePluginPackage(self, id: int) -> bool: ... 7356 7357 def ClearAllPluginPackages(self) -> None: 7358 ''' 7359 Clears all packages out of the database 7360 ''' 7361 return self._Entity.ClearAllPluginPackages() 7362 7363 def GetPluginPackages(self) -> list[PluginPackage]: 7364 ''' 7365 Gets a list of package info 7366 Includes name, id, file path, version, description, and modification date 7367 ''' 7368 return [PluginPackage(pluginPackage) for pluginPackage in self._Entity.GetPluginPackages()] 7369 7370 @overload 7371 def Get(self, name: str) -> PluginPackage: ... 7372 7373 @overload 7374 def Get(self, id: int) -> PluginPackage: ... 7375 7376 def RemovePluginPackage(self, item1 = None) -> bool: 7377 if isinstance(item1, str): 7378 return self._Entity.RemovePluginPackage(item1) 7379 7380 if isinstance(item1, int): 7381 return self._Entity.RemovePluginPackage(item1) 7382 7383 return self._Entity.RemovePluginPackage(item1) 7384 7385 def Get(self, item1 = None) -> PluginPackage: 7386 if isinstance(item1, str): 7387 return PluginPackage(super().Get(item1)) 7388 7389 if isinstance(item1, int): 7390 return PluginPackage(super().Get(item1)) 7391 7392 return PluginPackage(self._Entity.Get(item1)) 7393 7394 def __getitem__(self, index: int): 7395 return self.PluginPackageColList[index] 7396 7397 def __iter__(self): 7398 yield from self.PluginPackageColList 7399 7400 def __len__(self): 7401 return len(self.PluginPackageColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
7345 def AddPluginPackage(self, path: str) -> PluginPackage: 7346 ''' 7347 Add a plugin package by path. 7348 ''' 7349 return PluginPackage(self._Entity.AddPluginPackage(path))
Add a plugin package by path.
7357 def ClearAllPluginPackages(self) -> None: 7358 ''' 7359 Clears all packages out of the database 7360 ''' 7361 return self._Entity.ClearAllPluginPackages()
Clears all packages out of the database
7363 def GetPluginPackages(self) -> list[PluginPackage]: 7364 ''' 7365 Gets a list of package info 7366 Includes name, id, file path, version, description, and modification date 7367 ''' 7368 return [PluginPackage(pluginPackage) for pluginPackage in self._Entity.GetPluginPackages()]
Gets a list of package info Includes name, id, file path, version, description, and modification date
Inherited Members
7404class ProjectInfoCol(IdNameEntityCol[ProjectInfo]): 7405 def __init__(self, projectInfoCol: _api.ProjectInfoCol): 7406 self._Entity = projectInfoCol 7407 self._CollectedClass = ProjectInfo 7408 7409 @property 7410 def ProjectInfoColList(self) -> tuple[ProjectInfo]: 7411 return tuple([ProjectInfo(projectInfoCol) for projectInfoCol in self._Entity]) 7412 7413 @overload 7414 def Get(self, name: str) -> ProjectInfo: ... 7415 7416 @overload 7417 def Get(self, id: int) -> ProjectInfo: ... 7418 7419 def Get(self, item1 = None) -> ProjectInfo: 7420 if isinstance(item1, str): 7421 return ProjectInfo(super().Get(item1)) 7422 7423 if isinstance(item1, int): 7424 return ProjectInfo(super().Get(item1)) 7425 7426 return ProjectInfo(self._Entity.Get(item1)) 7427 7428 def __getitem__(self, index: int): 7429 return self.ProjectInfoColList[index] 7430 7431 def __iter__(self): 7432 yield from self.ProjectInfoColList 7433 7434 def __len__(self): 7435 return len(self.ProjectInfoColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
Inherited Members
7438class Application: 7439 ''' 7440 HyperX scripting application. 7441 This API is not guaranteed to be thread-safe. 7442 Calls into a single application instance or its descendents are not safe to be called concurrently. 7443 7444 However, it is safe enough for integration testing to have multiple 7445 application instances with a single process. 7446 ''' 7447 def __init__(self, application: _api.Application): 7448 self._Entity = application 7449 7450 @property 7451 def UnitSystem(self) -> UnitSystem: 7452 ''' 7453 Unit system specified when starting a scripting Application. 7454 ''' 7455 result = self._Entity.UnitSystem 7456 return UnitSystem(result) if result is not None else None 7457 7458 @property 7459 def CompilationDate(self) -> str: 7460 return self._Entity.CompilationDate 7461 7462 @property 7463 def DatabasePath(self) -> str: 7464 return self._Entity.DatabasePath 7465 7466 @property 7467 def ActiveProject(self) -> Project: 7468 ''' 7469 Represents a HyperX project within a database. 7470 ''' 7471 result = self._Entity.ActiveProject 7472 return Project(result) if result is not None else None 7473 7474 @property 7475 def UiRunnerMode(self) -> bool: 7476 return self._Entity.UiRunnerMode 7477 7478 @property 7479 def Version(self) -> str: 7480 return self._Entity.Version 7481 7482 @property 7483 def FailureModeCategories(self) -> FailureModeCategoryCol: 7484 result = self._Entity.FailureModeCategories 7485 return FailureModeCategoryCol(result) if result is not None else None 7486 7487 @property 7488 def FailureModes(self) -> FailureModeCol: 7489 result = self._Entity.FailureModes 7490 return FailureModeCol(result) if result is not None else None 7491 7492 @property 7493 def Packages(self) -> PluginPackageCol: 7494 result = self._Entity.Packages 7495 return PluginPackageCol(result) if result is not None else None 7496 7497 @property 7498 def Foams(self) -> FoamCol: 7499 ''' 7500 Contains a set of all foam materials in a database. 7501 ''' 7502 result = self._Entity.Foams 7503 return FoamCol(result) if result is not None else None 7504 7505 @property 7506 def Honeycombs(self) -> HoneycombCol: 7507 ''' 7508 Contains a set of all honeycomb materials in a database. 7509 ''' 7510 result = self._Entity.Honeycombs 7511 return HoneycombCol(result) if result is not None else None 7512 7513 @property 7514 def Isotropics(self) -> IsotropicCol: 7515 ''' 7516 Contains a set of all isotropic materials in a database. 7517 ''' 7518 result = self._Entity.Isotropics 7519 return IsotropicCol(result) if result is not None else None 7520 7521 @property 7522 def Laminates(self) -> LaminateCol: 7523 result = self._Entity.Laminates 7524 return LaminateCol(result) if result is not None else None 7525 7526 @property 7527 def LaminateFamilies(self) -> LaminateFamilyCol: 7528 result = self._Entity.LaminateFamilies 7529 return LaminateFamilyCol(result) if result is not None else None 7530 7531 @property 7532 def AnalysisProperties(self) -> AnalysisPropertyCol: 7533 result = self._Entity.AnalysisProperties 7534 return AnalysisPropertyCol(result) if result is not None else None 7535 7536 @property 7537 def DesignProperties(self) -> DesignPropertyCol: 7538 result = self._Entity.DesignProperties 7539 return DesignPropertyCol(result) if result is not None else None 7540 7541 @property 7542 def LoadProperties(self) -> LoadPropertyCol: 7543 result = self._Entity.LoadProperties 7544 return LoadPropertyCol(result) if result is not None else None 7545 7546 @property 7547 def Orthotropics(self) -> OrthotropicCol: 7548 ''' 7549 Contains a set of all orthotropic materials in a database. 7550 ''' 7551 result = self._Entity.Orthotropics 7552 return OrthotropicCol(result) if result is not None else None 7553 7554 @property 7555 def ProjectInfos(self) -> ProjectInfoCol: 7556 ''' 7557 Contains a set of all projects in a database. 7558 ''' 7559 result = self._Entity.ProjectInfos 7560 return ProjectInfoCol(result) if result is not None else None 7561 7562 @property 7563 def UserName(self) -> str: 7564 return self._Entity.UserName 7565 7566 @UserName.setter 7567 def UserName(self, value: str) -> None: 7568 self._Entity.UserName = value 7569 7570 def CloseDatabase(self, delay: int = 0) -> None: 7571 ''' 7572 Close the currently open database if one exists. 7573 :param delay: Delay closing the connection for this many seconds. 7574 ''' 7575 return self._Entity.CloseDatabase(delay) 7576 7577 def CopyProject(self, projectId: int, newName: str = None, copyDesignProperties: bool = True, copyAnalysisProperties: bool = True, copyLoadProperties: bool = True, copyWorkingFolder: bool = True) -> ProjectInfo: 7578 ''' 7579 Copy a project 7580 :param projectId: Id of the project to copy 7581 :param newName: Name for the new project 7582 :param copyDesignProperties: Flag indicating whether design properties should be copied in the new project 7583 :param copyAnalysisProperties: Flag indicating whether analysis properties should be copied in the new project 7584 :param copyLoadProperties: Flag indicating whether load properties should be copied in the new project 7585 :param copyWorkingFolder: Flag indicating whether working folder should be copied 7586 ''' 7587 return ProjectInfo(self._Entity.CopyProject(projectId, newName, copyDesignProperties, copyAnalysisProperties, copyLoadProperties, copyWorkingFolder)) 7588 7589 def CreateDatabaseFromTemplate(self, templateName: str, newPath: str) -> None: 7590 ''' 7591 Create a new database. 7592 :param templateName: The name of the template to base this database on. 7593 :param newPath: The path to the new database. 7594 ''' 7595 return self._Entity.CreateDatabaseFromTemplate(templateName, newPath) 7596 7597 def CreateProject(self, projectName: str = None) -> ProjectInfo: 7598 ''' 7599 Create a Project. 7600 ''' 7601 return ProjectInfo(self._Entity.CreateProject(projectName)) 7602 7603 def DeleteProject(self, projectName: str) -> ProjectDeletionStatus: 7604 return ProjectDeletionStatus[self._Entity.DeleteProject(projectName).ToString()] 7605 7606 def Dispose(self) -> None: 7607 ''' 7608 Dispose of the application. Should be explicitly called after the application 7609 is no longer needed unless the application is wrapped with a using clause. 7610 ''' 7611 return self._Entity.Dispose() 7612 7613 def GetAnalyses(self) -> dict[int, AnalysisDefinition]: 7614 ''' 7615 Get all Analysis Definitions in the database. 7616 ''' 7617 return dict[int, AnalysisDefinition](self._Entity.GetAnalyses()) 7618 7619 def Login(self, userName: str, password: str = "") -> None: 7620 ''' 7621 Login to the Scripting API with a specified username and password. 7622 :param userName: Username to login with. 7623 :param password: Password to log in with 7624 ''' 7625 return self._Entity.Login(userName, password) 7626 7627 def Migrate(self, databasePath: str) -> str: 7628 ''' 7629 Migrate the database to the latest version. 7630 ''' 7631 return self._Entity.Migrate(databasePath) 7632 7633 def CheckDatabaseIsUpToDate(self, databasePath: str) -> bool: 7634 ''' 7635 Returns true if the database version matches the version of this scripting API. 7636 Otherwise returns false. 7637 ''' 7638 return self._Entity.CheckDatabaseIsUpToDate(databasePath) 7639 7640 def OpenDatabase(self, databasePath: str) -> None: 7641 ''' 7642 Open a database to manipulate with the API. 7643 :param databasePath: File path to the DB. 7644 ''' 7645 return self._Entity.OpenDatabase(databasePath) 7646 7647 def SelectProject(self, projectName: str) -> Project: 7648 ''' 7649 Select the active project. 7650 Activating a project will deactivate the current project (if present). 7651 ''' 7652 return Project(self._Entity.SelectProject(projectName))
HyperX scripting application. This API is not guaranteed to be thread-safe. Calls into a single application instance or its descendents are not safe to be called concurrently.
However, it is safe enough for integration testing to have multiple
application instances with a single process.
7450 @property 7451 def UnitSystem(self) -> UnitSystem: 7452 ''' 7453 Unit system specified when starting a scripting Application. 7454 ''' 7455 result = self._Entity.UnitSystem 7456 return UnitSystem(result) if result is not None else None
Unit system specified when starting a scripting Application.
7466 @property 7467 def ActiveProject(self) -> Project: 7468 ''' 7469 Represents a HyperX project within a database. 7470 ''' 7471 result = self._Entity.ActiveProject 7472 return Project(result) if result is not None else None
Represents a HyperX project within a database.
7497 @property 7498 def Foams(self) -> FoamCol: 7499 ''' 7500 Contains a set of all foam materials in a database. 7501 ''' 7502 result = self._Entity.Foams 7503 return FoamCol(result) if result is not None else None
Contains a set of all foam materials in a database.
7505 @property 7506 def Honeycombs(self) -> HoneycombCol: 7507 ''' 7508 Contains a set of all honeycomb materials in a database. 7509 ''' 7510 result = self._Entity.Honeycombs 7511 return HoneycombCol(result) if result is not None else None
Contains a set of all honeycomb materials in a database.
7513 @property 7514 def Isotropics(self) -> IsotropicCol: 7515 ''' 7516 Contains a set of all isotropic materials in a database. 7517 ''' 7518 result = self._Entity.Isotropics 7519 return IsotropicCol(result) if result is not None else None
Contains a set of all isotropic materials in a database.
7546 @property 7547 def Orthotropics(self) -> OrthotropicCol: 7548 ''' 7549 Contains a set of all orthotropic materials in a database. 7550 ''' 7551 result = self._Entity.Orthotropics 7552 return OrthotropicCol(result) if result is not None else None
Contains a set of all orthotropic materials in a database.
7554 @property 7555 def ProjectInfos(self) -> ProjectInfoCol: 7556 ''' 7557 Contains a set of all projects in a database. 7558 ''' 7559 result = self._Entity.ProjectInfos 7560 return ProjectInfoCol(result) if result is not None else None
Contains a set of all projects in a database.
7570 def CloseDatabase(self, delay: int = 0) -> None: 7571 ''' 7572 Close the currently open database if one exists. 7573 :param delay: Delay closing the connection for this many seconds. 7574 ''' 7575 return self._Entity.CloseDatabase(delay)
Close the currently open database if one exists.
Parameters
- delay: Delay closing the connection for this many seconds.
7577 def CopyProject(self, projectId: int, newName: str = None, copyDesignProperties: bool = True, copyAnalysisProperties: bool = True, copyLoadProperties: bool = True, copyWorkingFolder: bool = True) -> ProjectInfo: 7578 ''' 7579 Copy a project 7580 :param projectId: Id of the project to copy 7581 :param newName: Name for the new project 7582 :param copyDesignProperties: Flag indicating whether design properties should be copied in the new project 7583 :param copyAnalysisProperties: Flag indicating whether analysis properties should be copied in the new project 7584 :param copyLoadProperties: Flag indicating whether load properties should be copied in the new project 7585 :param copyWorkingFolder: Flag indicating whether working folder should be copied 7586 ''' 7587 return ProjectInfo(self._Entity.CopyProject(projectId, newName, copyDesignProperties, copyAnalysisProperties, copyLoadProperties, copyWorkingFolder))
Copy a project
Parameters
- projectId: Id of the project to copy
- newName: Name for the new project
- copyDesignProperties: Flag indicating whether design properties should be copied in the new project
- copyAnalysisProperties: Flag indicating whether analysis properties should be copied in the new project
- copyLoadProperties: Flag indicating whether load properties should be copied in the new project
- copyWorkingFolder: Flag indicating whether working folder should be copied
7589 def CreateDatabaseFromTemplate(self, templateName: str, newPath: str) -> None: 7590 ''' 7591 Create a new database. 7592 :param templateName: The name of the template to base this database on. 7593 :param newPath: The path to the new database. 7594 ''' 7595 return self._Entity.CreateDatabaseFromTemplate(templateName, newPath)
Create a new database.
Parameters
- templateName: The name of the template to base this database on.
- newPath: The path to the new database.
7597 def CreateProject(self, projectName: str = None) -> ProjectInfo: 7598 ''' 7599 Create a Project. 7600 ''' 7601 return ProjectInfo(self._Entity.CreateProject(projectName))
Create a Project.
7606 def Dispose(self) -> None: 7607 ''' 7608 Dispose of the application. Should be explicitly called after the application 7609 is no longer needed unless the application is wrapped with a using clause. 7610 ''' 7611 return self._Entity.Dispose()
Dispose of the application. Should be explicitly called after the application is no longer needed unless the application is wrapped with a using clause.
7613 def GetAnalyses(self) -> dict[int, AnalysisDefinition]: 7614 ''' 7615 Get all Analysis Definitions in the database. 7616 ''' 7617 return dict[int, AnalysisDefinition](self._Entity.GetAnalyses())
Get all Analysis Definitions in the database.
7619 def Login(self, userName: str, password: str = "") -> None: 7620 ''' 7621 Login to the Scripting API with a specified username and password. 7622 :param userName: Username to login with. 7623 :param password: Password to log in with 7624 ''' 7625 return self._Entity.Login(userName, password)
Login to the Scripting API with a specified username and password.
Parameters
- userName: Username to login with.
- password: Password to log in with
7627 def Migrate(self, databasePath: str) -> str: 7628 ''' 7629 Migrate the database to the latest version. 7630 ''' 7631 return self._Entity.Migrate(databasePath)
Migrate the database to the latest version.
7633 def CheckDatabaseIsUpToDate(self, databasePath: str) -> bool: 7634 ''' 7635 Returns true if the database version matches the version of this scripting API. 7636 Otherwise returns false. 7637 ''' 7638 return self._Entity.CheckDatabaseIsUpToDate(databasePath)
Returns true if the database version matches the version of this scripting API. Otherwise returns false.
7640 def OpenDatabase(self, databasePath: str) -> None: 7641 ''' 7642 Open a database to manipulate with the API. 7643 :param databasePath: File path to the DB. 7644 ''' 7645 return self._Entity.OpenDatabase(databasePath)
Open a database to manipulate with the API.
Parameters
- databasePath: File path to the DB.
7647 def SelectProject(self, projectName: str) -> Project: 7648 ''' 7649 Select the active project. 7650 Activating a project will deactivate the current project (if present). 7651 ''' 7652 return Project(self._Entity.SelectProject(projectName))
Select the active project. Activating a project will deactivate the current project (if present).
7655class JointDesignProperty(DesignProperty): 7656 def __init__(self, jointDesignProperty: _api.JointDesignProperty): 7657 self._Entity = jointDesignProperty
Represents an entity with an ID and Name.
Inherited Members
7660class SizingMaterial(IdEntity): 7661 def __init__(self, sizingMaterial: _api.SizingMaterial): 7662 self._Entity = sizingMaterial 7663 7664 @property 7665 def MaterialId(self) -> int: 7666 return self._Entity.MaterialId 7667 7668 @property 7669 def MaterialType(self) -> types.MaterialType: 7670 ''' 7671 Represents a material's type. 7672 ''' 7673 return types.MaterialType[self._Entity.MaterialType.ToString()]
Represents an entity with an ID.
7676class SizingMaterialCol(IdEntityCol[SizingMaterial]): 7677 def __init__(self, sizingMaterialCol: _api.SizingMaterialCol): 7678 self._Entity = sizingMaterialCol 7679 self._CollectedClass = SizingMaterial 7680 7681 @property 7682 def SizingMaterialColList(self) -> tuple[SizingMaterial]: 7683 return tuple([SizingMaterial(sizingMaterialCol) for sizingMaterialCol in self._Entity]) 7684 7685 @overload 7686 def Get(self, name: str) -> SizingMaterial: ... 7687 7688 @overload 7689 def Contains(self, name: str) -> bool: ... 7690 7691 @overload 7692 def AddSizingMaterial(self, materialId: int) -> bool: ... 7693 7694 @overload 7695 def AddSizingMaterial(self, name: str) -> bool: ... 7696 7697 @overload 7698 def RemoveSizingMaterial(self, materialId: int) -> bool: ... 7699 7700 @overload 7701 def RemoveSizingMaterial(self, name: str) -> bool: ... 7702 7703 @overload 7704 def Contains(self, id: int) -> bool: ... 7705 7706 @overload 7707 def Get(self, id: int) -> SizingMaterial: ... 7708 7709 def Get(self, item1 = None) -> SizingMaterial: 7710 if isinstance(item1, str): 7711 return SizingMaterial(self._Entity.Get(item1)) 7712 7713 if isinstance(item1, int): 7714 return SizingMaterial(super().Get(item1)) 7715 7716 return SizingMaterial(self._Entity.Get(item1)) 7717 7718 def Contains(self, item1 = None) -> bool: 7719 if isinstance(item1, str): 7720 return self._Entity.Contains(item1) 7721 7722 if isinstance(item1, int): 7723 return bool(super().Contains(item1)) 7724 7725 return self._Entity.Contains(item1) 7726 7727 def AddSizingMaterial(self, item1 = None) -> bool: 7728 if isinstance(item1, int): 7729 return self._Entity.AddSizingMaterial(item1) 7730 7731 if isinstance(item1, str): 7732 return self._Entity.AddSizingMaterial(item1) 7733 7734 return self._Entity.AddSizingMaterial(item1) 7735 7736 def RemoveSizingMaterial(self, item1 = None) -> bool: 7737 if isinstance(item1, int): 7738 return self._Entity.RemoveSizingMaterial(item1) 7739 7740 if isinstance(item1, str): 7741 return self._Entity.RemoveSizingMaterial(item1) 7742 7743 return self._Entity.RemoveSizingMaterial(item1) 7744 7745 def __getitem__(self, index: int): 7746 return self.SizingMaterialColList[index] 7747 7748 def __iter__(self): 7749 yield from self.SizingMaterialColList 7750 7751 def __len__(self): 7752 return len(self.SizingMaterialColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
Inherited Members
7755class ZoneOverride(IdEntity): 7756 def __init__(self, zoneOverride: _api.ZoneOverride): 7757 self._Entity = zoneOverride 7758 7759 @property 7760 def AllowMaterials(self) -> bool: 7761 return self._Entity.AllowMaterials 7762 7763 @property 7764 def ProjectId(self) -> int: 7765 return self._Entity.ProjectId 7766 7767 @property 7768 def DesignId(self) -> int: 7769 return self._Entity.DesignId 7770 7771 @property 7772 def FamilyId(self) -> types.BeamPanelFamily: 7773 return types.BeamPanelFamily[self._Entity.FamilyId.ToString()] 7774 7775 @property 7776 def ConceptId(self) -> int: 7777 return self._Entity.ConceptId 7778 7779 @property 7780 def VariableId(self) -> int: 7781 return self._Entity.VariableId 7782 7783 @property 7784 def MinBound(self) -> float: 7785 return self._Entity.MinBound 7786 7787 @property 7788 def MaxBound(self) -> float: 7789 return self._Entity.MaxBound 7790 7791 @property 7792 def StepSize(self) -> float: 7793 return self._Entity.StepSize 7794 7795 @property 7796 def MinPlies(self) -> int: 7797 return self._Entity.MinPlies 7798 7799 @property 7800 def MaxPlies(self) -> int: 7801 return self._Entity.MaxPlies 7802 7803 @property 7804 def PlyStepSize(self) -> int: 7805 return self._Entity.PlyStepSize 7806 7807 @property 7808 def InputMode(self) -> types.VariableInputMode: 7809 return types.VariableInputMode[self._Entity.InputMode.ToString()] 7810 7811 @property 7812 def SizingMaterials(self) -> SizingMaterialCol: 7813 result = self._Entity.SizingMaterials 7814 return SizingMaterialCol(result) if result is not None else None 7815 7816 @property 7817 def AnalysisValue(self) -> float: 7818 return self._Entity.AnalysisValue 7819 7820 @property 7821 def AnalysisMaterial(self) -> str: 7822 return self._Entity.AnalysisMaterial 7823 7824 @property 7825 def AnalysisMaterialType(self) -> types.MaterialType: 7826 return types.MaterialType[self._Entity.AnalysisMaterialType.ToString()] 7827 7828 @MinBound.setter 7829 def MinBound(self, value: float) -> None: 7830 self._Entity.MinBound = value 7831 7832 @MaxBound.setter 7833 def MaxBound(self, value: float) -> None: 7834 self._Entity.MaxBound = value 7835 7836 @StepSize.setter 7837 def StepSize(self, value: float) -> None: 7838 self._Entity.StepSize = value 7839 7840 @MinPlies.setter 7841 def MinPlies(self, value: int) -> None: 7842 self._Entity.MinPlies = value 7843 7844 @MaxPlies.setter 7845 def MaxPlies(self, value: int) -> None: 7846 self._Entity.MaxPlies = value 7847 7848 @PlyStepSize.setter 7849 def PlyStepSize(self, value: int) -> None: 7850 self._Entity.PlyStepSize = value 7851 7852 @AnalysisValue.setter 7853 def AnalysisValue(self, value: float) -> None: 7854 self._Entity.AnalysisValue = value 7855 7856 @AnalysisMaterial.setter 7857 def AnalysisMaterial(self, value: str) -> None: 7858 self._Entity.AnalysisMaterial = value
Represents an entity with an ID.
7861class ToolingConstraint(IdNameEntity): 7862 ''' 7863 Tooling constraints are a feature of Design Properties for Zones. 7864 ''' 7865 def __init__(self, toolingConstraint: _api.ToolingConstraint): 7866 self._Entity = toolingConstraint 7867 7868 @property 7869 def ConstraintMax(self) -> float: 7870 return self._Entity.ConstraintMax 7871 7872 @property 7873 def ConstraintMin(self) -> float: 7874 return self._Entity.ConstraintMin 7875 7876 @property 7877 def ConstraintValue(self) -> float: 7878 return self._Entity.ConstraintValue 7879 7880 @property 7881 def ToolingSelectionType(self) -> types.ToolingSelectionType: 7882 ''' 7883 Defines which selection a given tooling constraint is currently set to. 7884 ''' 7885 return types.ToolingSelectionType[self._Entity.ToolingSelectionType.ToString()] 7886 7887 def SetToAnyValue(self) -> None: 7888 return self._Entity.SetToAnyValue() 7889 7890 def SetToInequality(self, value: float) -> None: 7891 return self._Entity.SetToInequality(value) 7892 7893 def SetToRange(self, min: float, max: float) -> None: 7894 return self._Entity.SetToRange(min, max) 7895 7896 def SetToValue(self, value: float) -> None: 7897 return self._Entity.SetToValue(value)
Tooling constraints are a feature of Design Properties for Zones.
7880 @property 7881 def ToolingSelectionType(self) -> types.ToolingSelectionType: 7882 ''' 7883 Defines which selection a given tooling constraint is currently set to. 7884 ''' 7885 return types.ToolingSelectionType[self._Entity.ToolingSelectionType.ToString()]
Defines which selection a given tooling constraint is currently set to.
Inherited Members
7900class ZoneOverrideCol(IdEntityCol[ZoneOverride]): 7901 def __init__(self, zoneOverrideCol: _api.ZoneOverrideCol): 7902 self._Entity = zoneOverrideCol 7903 self._CollectedClass = ZoneOverride 7904 7905 @property 7906 def ZoneOverrideColList(self) -> tuple[ZoneOverride]: 7907 return tuple([ZoneOverride(zoneOverrideCol) for zoneOverrideCol in self._Entity]) 7908 7909 def Get(self, zoneNumber: int) -> ZoneOverride: 7910 ''' 7911 Get override for a zone by the zone number 7912 ''' 7913 return ZoneOverride(self._Entity.Get(zoneNumber)) 7914 7915 def __getitem__(self, index: int): 7916 return self.ZoneOverrideColList[index] 7917 7918 def __iter__(self): 7919 yield from self.ZoneOverrideColList 7920 7921 def __len__(self): 7922 return len(self.ZoneOverrideColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
7909 def Get(self, zoneNumber: int) -> ZoneOverride: 7910 ''' 7911 Get override for a zone by the zone number 7912 ''' 7913 return ZoneOverride(self._Entity.Get(zoneNumber))
Get override for a zone by the zone number
Inherited Members
7925class DesignVariable(IdEntity): 7926 ''' 7927 Holds design variable data. 7928 Min, max, steps, materials. 7929 ''' 7930 def __init__(self, designVariable: _api.DesignVariable): 7931 self._Entity = designVariable 7932 7933 @property 7934 def VariableParameter(self) -> types.VariableParameter: 7935 return types.VariableParameter[self._Entity.VariableParameter.ToString()] 7936 7937 @property 7938 def AllowMaterials(self) -> bool: 7939 return self._Entity.AllowMaterials 7940 7941 @property 7942 def Max(self) -> float: 7943 return self._Entity.Max 7944 7945 @property 7946 def Min(self) -> float: 7947 return self._Entity.Min 7948 7949 @property 7950 def Name(self) -> str: 7951 return self._Entity.Name 7952 7953 @property 7954 def StepSize(self) -> float: 7955 return self._Entity.StepSize 7956 7957 @property 7958 def UseAnalysis(self) -> bool: 7959 return self._Entity.UseAnalysis 7960 7961 @property 7962 def AnalysisMaterial(self) -> str: 7963 return self._Entity.AnalysisMaterial 7964 7965 @property 7966 def AnalysisMaterialType(self) -> types.MaterialType: 7967 return types.MaterialType[self._Entity.AnalysisMaterialType.ToString()] 7968 7969 @property 7970 def SizingMaterialType(self) -> types.MaterialType: 7971 return types.MaterialType[self._Entity.SizingMaterialType.ToString()] 7972 7973 @property 7974 def AnalysisValue(self) -> float: 7975 return self._Entity.AnalysisValue 7976 7977 @property 7978 def Overrides(self) -> ZoneOverrideCol: 7979 result = self._Entity.Overrides 7980 return ZoneOverrideCol(result) if result is not None else None 7981 7982 @Max.setter 7983 def Max(self, value: float) -> None: 7984 self._Entity.Max = value 7985 7986 @Min.setter 7987 def Min(self, value: float) -> None: 7988 self._Entity.Min = value 7989 7990 @StepSize.setter 7991 def StepSize(self, value: float) -> None: 7992 self._Entity.StepSize = value 7993 7994 @UseAnalysis.setter 7995 def UseAnalysis(self, value: bool) -> None: 7996 self._Entity.UseAnalysis = value 7997 7998 @AnalysisMaterial.setter 7999 def AnalysisMaterial(self, value: str) -> None: 8000 self._Entity.AnalysisMaterial = value 8001 8002 @AnalysisValue.setter 8003 def AnalysisValue(self, value: float) -> None: 8004 self._Entity.AnalysisValue = value 8005 8006 @overload 8007 def AddMaterials(self, materialIds: set[int]) -> None: ... 8008 8009 @overload 8010 def AddMaterials(self, materialNames: set[str]) -> None: ... 8011 8012 def GetSizingMaterials(self) -> list[int]: 8013 ''' 8014 Get a list of materials used for sizing, if they exist. 8015 ''' 8016 return [int32 for int32 in self._Entity.GetSizingMaterials()] 8017 8018 def RemoveSizingMaterials(self, materialIds: tuple[int] = None) -> None: 8019 materialIdsList = MakeCSharpIntList(materialIds) 8020 materialIdsEnumerable = IEnumerable(materialIdsList) 8021 return self._Entity.RemoveSizingMaterials(materialIds if materialIds is None else materialIdsEnumerable) 8022 8023 def GetAnalysisMaterial(self) -> int: 8024 ''' 8025 Get the material used for analysis, if it exists. 8026 ''' 8027 return self._Entity.GetAnalysisMaterial() 8028 8029 def RemoveAnalysisMaterial(self) -> None: 8030 ''' 8031 Remove the analysis material assigned to this variable. 8032 ''' 8033 return self._Entity.RemoveAnalysisMaterial() 8034 8035 def AddMaterials(self, item1 = None) -> None: 8036 if isinstance(item1, set) and item1 and isinstance(list(item1)[0], int): 8037 materialIdsSet = HashSet[int]() 8038 if item1 is not None: 8039 for thing in item1: 8040 if thing is not None: 8041 materialIdsSet.Add(thing) 8042 return self._Entity.AddMaterials(materialIdsSet) 8043 8044 if isinstance(item1, set) and item1 and isinstance(list(item1)[0], str): 8045 materialNamesSet = HashSet[str]() 8046 if item1 is not None: 8047 for thing in item1: 8048 if thing is not None: 8049 materialNamesSet.Add(thing) 8050 return self._Entity.AddMaterials(materialNamesSet) 8051 8052 return self._Entity.AddMaterials(item1)
Holds design variable data. Min, max, steps, materials.
8035 def AddMaterials(self, item1 = None) -> None: 8036 if isinstance(item1, set) and item1 and isinstance(list(item1)[0], int): 8037 materialIdsSet = HashSet[int]() 8038 if item1 is not None: 8039 for thing in item1: 8040 if thing is not None: 8041 materialIdsSet.Add(thing) 8042 return self._Entity.AddMaterials(materialIdsSet) 8043 8044 if isinstance(item1, set) and item1 and isinstance(list(item1)[0], str): 8045 materialNamesSet = HashSet[str]() 8046 if item1 is not None: 8047 for thing in item1: 8048 if thing is not None: 8049 materialNamesSet.Add(thing) 8050 return self._Entity.AddMaterials(materialNamesSet) 8051 8052 return self._Entity.AddMaterials(item1)
8012 def GetSizingMaterials(self) -> list[int]: 8013 ''' 8014 Get a list of materials used for sizing, if they exist. 8015 ''' 8016 return [int32 for int32 in self._Entity.GetSizingMaterials()]
Get a list of materials used for sizing, if they exist.
8023 def GetAnalysisMaterial(self) -> int: 8024 ''' 8025 Get the material used for analysis, if it exists. 8026 ''' 8027 return self._Entity.GetAnalysisMaterial()
Get the material used for analysis, if it exists.
8055class ToolingConstraintCol(IdNameEntityCol[ToolingConstraint]): 8056 def __init__(self, toolingConstraintCol: _api.ToolingConstraintCol): 8057 self._Entity = toolingConstraintCol 8058 self._CollectedClass = ToolingConstraint 8059 8060 @property 8061 def ToolingConstraintColList(self) -> tuple[ToolingConstraint]: 8062 return tuple([ToolingConstraint(toolingConstraintCol) for toolingConstraintCol in self._Entity]) 8063 8064 @overload 8065 def Get(self, name: str) -> ToolingConstraint: ... 8066 8067 @overload 8068 def Get(self, id: int) -> ToolingConstraint: ... 8069 8070 def Get(self, item1 = None) -> ToolingConstraint: 8071 if isinstance(item1, str): 8072 return ToolingConstraint(super().Get(item1)) 8073 8074 if isinstance(item1, int): 8075 return ToolingConstraint(super().Get(item1)) 8076 8077 return ToolingConstraint(self._Entity.Get(item1)) 8078 8079 def __getitem__(self, index: int): 8080 return self.ToolingConstraintColList[index] 8081 8082 def __iter__(self): 8083 yield from self.ToolingConstraintColList 8084 8085 def __len__(self): 8086 return len(self.ToolingConstraintColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
Inherited Members
8089class DesignVariableCol(IdEntityCol[DesignVariable]): 8090 def __init__(self, designVariableCol: _api.DesignVariableCol): 8091 self._Entity = designVariableCol 8092 self._CollectedClass = DesignVariable 8093 8094 @property 8095 def DesignVariableColList(self) -> tuple[DesignVariable]: 8096 return tuple([DesignVariable(designVariableCol) for designVariableCol in self._Entity]) 8097 8098 @overload 8099 def Get(self, parameterId: types.VariableParameter) -> DesignVariable: ... 8100 8101 @overload 8102 def Get(self, id: int) -> DesignVariable: ... 8103 8104 def Get(self, item1 = None) -> DesignVariable: 8105 if isinstance(item1, types.VariableParameter): 8106 return DesignVariable(self._Entity.Get(_types.VariableParameter(item1.value))) 8107 8108 if isinstance(item1, int): 8109 return DesignVariable(super().Get(item1)) 8110 8111 return DesignVariable(self._Entity.Get(_types.VariableParameter(item1.value))) 8112 8113 def __getitem__(self, index: int): 8114 return self.DesignVariableColList[index] 8115 8116 def __iter__(self): 8117 yield from self.DesignVariableColList 8118 8119 def __len__(self): 8120 return len(self.DesignVariableColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
8104 def Get(self, item1 = None) -> DesignVariable: 8105 if isinstance(item1, types.VariableParameter): 8106 return DesignVariable(self._Entity.Get(_types.VariableParameter(item1.value))) 8107 8108 if isinstance(item1, int): 8109 return DesignVariable(super().Get(item1)) 8110 8111 return DesignVariable(self._Entity.Get(_types.VariableParameter(item1.value)))
Inherited Members
8123class ZoneDesignProperty(DesignProperty): 8124 def __init__(self, zoneDesignProperty: _api.ZoneDesignProperty): 8125 self._Entity = zoneDesignProperty 8126 8127 @property 8128 def FamilyId(self) -> types.BeamPanelFamily: 8129 return types.BeamPanelFamily[self._Entity.FamilyId.ToString()] 8130 8131 @property 8132 def ConceptId(self) -> int: 8133 return self._Entity.ConceptId 8134 8135 @property 8136 def FamilyConceptUID(self) -> types.FamilyConceptUID: 8137 return types.FamilyConceptUID[self._Entity.FamilyConceptUID.ToString()] 8138 8139 @property 8140 def ToolingConstraints(self) -> ToolingConstraintCol: 8141 result = self._Entity.ToolingConstraints 8142 return ToolingConstraintCol(result) if result is not None else None 8143 8144 @property 8145 def DesignVariables(self) -> DesignVariableCol: 8146 result = self._Entity.DesignVariables 8147 return DesignVariableCol(result) if result is not None else None
Represents an entity with an ID and Name.
Inherited Members
8150class BulkUpdaterBase(ABC): 8151 def __init__(self, bulkUpdaterBase: _api.BulkUpdaterBase): 8152 self._Entity = bulkUpdaterBase 8153 8154 def Update(self, func: Action) -> None: 8155 entityType = self._Entity.GetType().BaseType.GenericTypeArguments[0] 8156 funcAction = Action[entityType](func) 8157 return self._Entity.Update(funcAction)
8160class LoadPropertyUserRowBulkUpdater(BulkUpdaterBase): 8161 def __init__(self, loadPropertyUserRowBulkUpdater: _api.LoadPropertyUserRowBulkUpdater): 8162 self._Entity = loadPropertyUserRowBulkUpdater
Inherited Members
8165class LoadPropertyUserRow(IdNameEntity): 8166 def __init__(self, loadPropertyUserRow: _api.LoadPropertyUserRow): 8167 self._Entity = loadPropertyUserRow 8168 8169 @property 8170 def LoadScenarioId(self) -> int: 8171 return self._Entity.LoadScenarioId 8172 8173 @property 8174 def LoadPropertyId(self) -> int: 8175 return self._Entity.LoadPropertyId 8176 8177 @property 8178 def Type(self) -> types.LoadSetType: 8179 return types.LoadSetType[self._Entity.Type.ToString()] 8180 8181 @property 8182 def ReferenceTemperature(self) -> float: 8183 return self._Entity.ReferenceTemperature 8184 8185 @property 8186 def PressureOrTemperature(self) -> float: 8187 return self._Entity.PressureOrTemperature 8188 8189 @property 8190 def LimitFactor(self) -> float: 8191 return self._Entity.LimitFactor 8192 8193 @property 8194 def UltimateFactor(self) -> float: 8195 return self._Entity.UltimateFactor 8196 8197 @ReferenceTemperature.setter 8198 def ReferenceTemperature(self, value: float) -> None: 8199 self._Entity.ReferenceTemperature = value 8200 8201 @PressureOrTemperature.setter 8202 def PressureOrTemperature(self, value: float) -> None: 8203 self._Entity.PressureOrTemperature = value 8204 8205 @LimitFactor.setter 8206 def LimitFactor(self, value: float) -> None: 8207 self._Entity.LimitFactor = value 8208 8209 @UltimateFactor.setter 8210 def UltimateFactor(self, value: float) -> None: 8211 self._Entity.UltimateFactor = value
Represents an entity with an ID and Name.
Inherited Members
8214class LoadPropertyUserBeamRow(LoadPropertyUserRow): 8215 def __init__(self, loadPropertyUserBeamRow: _api.LoadPropertyUserBeamRow): 8216 self._Entity = loadPropertyUserBeamRow 8217 8218 @property 8219 def M1A(self) -> float: 8220 return self._Entity.M1A 8221 8222 @property 8223 def M2A(self) -> float: 8224 return self._Entity.M2A 8225 8226 @property 8227 def M1B(self) -> float: 8228 return self._Entity.M1B 8229 8230 @property 8231 def M2B(self) -> float: 8232 return self._Entity.M2B 8233 8234 @property 8235 def V1(self) -> float: 8236 return self._Entity.V1 8237 8238 @property 8239 def V2(self) -> float: 8240 return self._Entity.V2 8241 8242 @property 8243 def Axial(self) -> float: 8244 return self._Entity.Axial 8245 8246 @property 8247 def Torque(self) -> float: 8248 return self._Entity.Torque 8249 8250 @M1A.setter 8251 def M1A(self, value: float) -> None: 8252 self._Entity.M1A = value 8253 8254 @M2A.setter 8255 def M2A(self, value: float) -> None: 8256 self._Entity.M2A = value 8257 8258 @M1B.setter 8259 def M1B(self, value: float) -> None: 8260 self._Entity.M1B = value 8261 8262 @M2B.setter 8263 def M2B(self, value: float) -> None: 8264 self._Entity.M2B = value 8265 8266 @V1.setter 8267 def V1(self, value: float) -> None: 8268 self._Entity.V1 = value 8269 8270 @V2.setter 8271 def V2(self, value: float) -> None: 8272 self._Entity.V2 = value 8273 8274 @Axial.setter 8275 def Axial(self, value: float) -> None: 8276 self._Entity.Axial = value 8277 8278 @Torque.setter 8279 def Torque(self, value: float) -> None: 8280 self._Entity.Torque = value
Represents an entity with an ID and Name.
8283class LoadPropertyUserFeaBeamRow(LoadPropertyUserBeamRow): 8284 def __init__(self, loadPropertyUserFeaBeamRow: _api.LoadPropertyUserFeaBeamRow): 8285 self._Entity = loadPropertyUserFeaBeamRow 8286 8287 def SetName(self, name: str) -> None: 8288 ''' 8289 Set the name for the scenario 8290 ''' 8291 return self._Entity.SetName(name)
Represents an entity with an ID and Name.
8294class LoadPropertyUserFeaBeamRowBulkUpdater(LoadPropertyUserRowBulkUpdater): 8295 def __init__(self, loadPropertyUserFeaBeamRowBulkUpdater: _api.LoadPropertyUserFeaBeamRowBulkUpdater): 8296 self._Entity = loadPropertyUserFeaBeamRowBulkUpdater 8297 8298 def GetBulkUpdater(application: Application, items: list[LoadPropertyUserFeaBeamRow]) -> LoadPropertyUserFeaBeamRowBulkUpdater: 8299 itemsList = List[_api.LoadPropertyUserFeaBeamRow]() 8300 if items is not None: 8301 for thing in items: 8302 if thing is not None: 8303 itemsList.Add(thing._Entity) 8304 return LoadPropertyUserFeaBeamRowBulkUpdater(_api.LoadPropertyUserFeaBeamRowBulkUpdater.GetBulkUpdater(application._Entity, itemsList))
8298 def GetBulkUpdater(application: Application, items: list[LoadPropertyUserFeaBeamRow]) -> LoadPropertyUserFeaBeamRowBulkUpdater: 8299 itemsList = List[_api.LoadPropertyUserFeaBeamRow]() 8300 if items is not None: 8301 for thing in items: 8302 if thing is not None: 8303 itemsList.Add(thing._Entity) 8304 return LoadPropertyUserFeaBeamRowBulkUpdater(_api.LoadPropertyUserFeaBeamRowBulkUpdater.GetBulkUpdater(application._Entity, itemsList))
Inherited Members
8307class LoadPropertyUserPanelJointRow(LoadPropertyUserRow): 8308 def __init__(self, loadPropertyUserPanelJointRow: _api.LoadPropertyUserPanelJointRow): 8309 self._Entity = loadPropertyUserPanelJointRow 8310 8311 @property 8312 def Nx(self) -> float: 8313 return self._Entity.Nx 8314 8315 @property 8316 def Ny(self) -> float: 8317 return self._Entity.Ny 8318 8319 @property 8320 def Nxy(self) -> float: 8321 return self._Entity.Nxy 8322 8323 @property 8324 def Mx(self) -> float: 8325 return self._Entity.Mx 8326 8327 @property 8328 def My(self) -> float: 8329 return self._Entity.My 8330 8331 @property 8332 def Mxy(self) -> float: 8333 return self._Entity.Mxy 8334 8335 @property 8336 def Qx(self) -> float: 8337 return self._Entity.Qx 8338 8339 @property 8340 def Qy(self) -> float: 8341 return self._Entity.Qy 8342 8343 @Nx.setter 8344 def Nx(self, value: float) -> None: 8345 self._Entity.Nx = value 8346 8347 @Ny.setter 8348 def Ny(self, value: float) -> None: 8349 self._Entity.Ny = value 8350 8351 @Nxy.setter 8352 def Nxy(self, value: float) -> None: 8353 self._Entity.Nxy = value 8354 8355 @Mx.setter 8356 def Mx(self, value: float) -> None: 8357 self._Entity.Mx = value 8358 8359 @My.setter 8360 def My(self, value: float) -> None: 8361 self._Entity.My = value 8362 8363 @Mxy.setter 8364 def Mxy(self, value: float) -> None: 8365 self._Entity.Mxy = value 8366 8367 @Qx.setter 8368 def Qx(self, value: float) -> None: 8369 self._Entity.Qx = value 8370 8371 @Qy.setter 8372 def Qy(self, value: float) -> None: 8373 self._Entity.Qy = value
Represents an entity with an ID and Name.
8376class LoadPropertyUserFeaJointRow(LoadPropertyUserPanelJointRow): 8377 def __init__(self, loadPropertyUserFeaJointRow: _api.LoadPropertyUserFeaJointRow): 8378 self._Entity = loadPropertyUserFeaJointRow 8379 8380 def SetName(self, name: str) -> None: 8381 ''' 8382 Set the name for the scenario 8383 ''' 8384 return self._Entity.SetName(name)
Represents an entity with an ID and Name.
8387class LoadPropertyUserFeaJointRowBulkUpdater(LoadPropertyUserRowBulkUpdater): 8388 def __init__(self, loadPropertyUserFeaJointRowBulkUpdater: _api.LoadPropertyUserFeaJointRowBulkUpdater): 8389 self._Entity = loadPropertyUserFeaJointRowBulkUpdater 8390 8391 def GetBulkUpdater(application: Application, items: list[LoadPropertyUserFeaJointRow]) -> LoadPropertyUserFeaJointRowBulkUpdater: 8392 itemsList = List[_api.LoadPropertyUserFeaJointRow]() 8393 if items is not None: 8394 for thing in items: 8395 if thing is not None: 8396 itemsList.Add(thing._Entity) 8397 return LoadPropertyUserFeaJointRowBulkUpdater(_api.LoadPropertyUserFeaJointRowBulkUpdater.GetBulkUpdater(application._Entity, itemsList))
8391 def GetBulkUpdater(application: Application, items: list[LoadPropertyUserFeaJointRow]) -> LoadPropertyUserFeaJointRowBulkUpdater: 8392 itemsList = List[_api.LoadPropertyUserFeaJointRow]() 8393 if items is not None: 8394 for thing in items: 8395 if thing is not None: 8396 itemsList.Add(thing._Entity) 8397 return LoadPropertyUserFeaJointRowBulkUpdater(_api.LoadPropertyUserFeaJointRowBulkUpdater.GetBulkUpdater(application._Entity, itemsList))
Inherited Members
8400class LoadPropertyUserFeaPanelRow(LoadPropertyUserPanelJointRow): 8401 def __init__(self, loadPropertyUserFeaPanelRow: _api.LoadPropertyUserFeaPanelRow): 8402 self._Entity = loadPropertyUserFeaPanelRow 8403 8404 def SetName(self, name: str) -> None: 8405 ''' 8406 Set the name for the scenario 8407 ''' 8408 return self._Entity.SetName(name)
Represents an entity with an ID and Name.
8411class LoadPropertyUserFeaPanelRowBulkUpdater(LoadPropertyUserRowBulkUpdater): 8412 def __init__(self, loadPropertyUserFeaPanelRowBulkUpdater: _api.LoadPropertyUserFeaPanelRowBulkUpdater): 8413 self._Entity = loadPropertyUserFeaPanelRowBulkUpdater 8414 8415 def GetBulkUpdater(application: Application, items: list[LoadPropertyUserFeaPanelRow]) -> LoadPropertyUserFeaPanelRowBulkUpdater: 8416 itemsList = List[_api.LoadPropertyUserFeaPanelRow]() 8417 if items is not None: 8418 for thing in items: 8419 if thing is not None: 8420 itemsList.Add(thing._Entity) 8421 return LoadPropertyUserFeaPanelRowBulkUpdater(_api.LoadPropertyUserFeaPanelRowBulkUpdater.GetBulkUpdater(application._Entity, itemsList))
8415 def GetBulkUpdater(application: Application, items: list[LoadPropertyUserFeaPanelRow]) -> LoadPropertyUserFeaPanelRowBulkUpdater: 8416 itemsList = List[_api.LoadPropertyUserFeaPanelRow]() 8417 if items is not None: 8418 for thing in items: 8419 if thing is not None: 8420 itemsList.Add(thing._Entity) 8421 return LoadPropertyUserFeaPanelRowBulkUpdater(_api.LoadPropertyUserFeaPanelRowBulkUpdater.GetBulkUpdater(application._Entity, itemsList))
Inherited Members
8424class LoadPropertyUserGeneralBeamRow(LoadPropertyUserBeamRow): 8425 def __init__(self, loadPropertyUserGeneralBeamRow: _api.LoadPropertyUserGeneralBeamRow): 8426 self._Entity = loadPropertyUserGeneralBeamRow 8427 8428 @property 8429 def M1A(self) -> float: 8430 return self._Entity.M1A 8431 8432 @property 8433 def M2A(self) -> float: 8434 return self._Entity.M2A 8435 8436 @property 8437 def M1B(self) -> float: 8438 return self._Entity.M1B 8439 8440 @property 8441 def M2B(self) -> float: 8442 return self._Entity.M2B 8443 8444 @property 8445 def V1(self) -> float: 8446 return self._Entity.V1 8447 8448 @property 8449 def V2(self) -> float: 8450 return self._Entity.V2 8451 8452 @property 8453 def Axial(self) -> float: 8454 return self._Entity.Axial 8455 8456 @property 8457 def Torque(self) -> float: 8458 return self._Entity.Torque 8459 8460 @property 8461 def M1AType(self) -> types.BoundaryConditionType: 8462 return types.BoundaryConditionType[self._Entity.M1AType.ToString()] 8463 8464 @property 8465 def M2AType(self) -> types.BoundaryConditionType: 8466 return types.BoundaryConditionType[self._Entity.M2AType.ToString()] 8467 8468 @property 8469 def M1BType(self) -> types.BoundaryConditionType: 8470 return types.BoundaryConditionType[self._Entity.M1BType.ToString()] 8471 8472 @property 8473 def M2BType(self) -> types.BoundaryConditionType: 8474 return types.BoundaryConditionType[self._Entity.M2BType.ToString()] 8475 8476 @property 8477 def V1Type(self) -> types.BoundaryConditionType: 8478 return types.BoundaryConditionType[self._Entity.V1Type.ToString()] 8479 8480 @property 8481 def V2Type(self) -> types.BoundaryConditionType: 8482 return types.BoundaryConditionType[self._Entity.V2Type.ToString()] 8483 8484 @property 8485 def AxialType(self) -> types.BoundaryConditionType: 8486 return types.BoundaryConditionType[self._Entity.AxialType.ToString()] 8487 8488 @property 8489 def TorqueType(self) -> types.BoundaryConditionType: 8490 return types.BoundaryConditionType[self._Entity.TorqueType.ToString()] 8491 8492 @M1A.setter 8493 def M1A(self, value: float) -> None: 8494 self._Entity.M1A = value 8495 8496 @M2A.setter 8497 def M2A(self, value: float) -> None: 8498 self._Entity.M2A = value 8499 8500 @M1B.setter 8501 def M1B(self, value: float) -> None: 8502 self._Entity.M1B = value 8503 8504 @M2B.setter 8505 def M2B(self, value: float) -> None: 8506 self._Entity.M2B = value 8507 8508 @V1.setter 8509 def V1(self, value: float) -> None: 8510 self._Entity.V1 = value 8511 8512 @V2.setter 8513 def V2(self, value: float) -> None: 8514 self._Entity.V2 = value 8515 8516 @Axial.setter 8517 def Axial(self, value: float) -> None: 8518 self._Entity.Axial = value 8519 8520 @Torque.setter 8521 def Torque(self, value: float) -> None: 8522 self._Entity.Torque = value
Represents an entity with an ID and Name.
8525class LoadPropertyUserGeneralBeamRowBulkUpdater(LoadPropertyUserRowBulkUpdater): 8526 def __init__(self, loadPropertyUserGeneralBeamRowBulkUpdater: _api.LoadPropertyUserGeneralBeamRowBulkUpdater): 8527 self._Entity = loadPropertyUserGeneralBeamRowBulkUpdater 8528 8529 def GetBulkUpdater(application: Application, items: list[LoadPropertyUserGeneralBeamRow]) -> LoadPropertyUserGeneralBeamRowBulkUpdater: 8530 itemsList = List[_api.LoadPropertyUserGeneralBeamRow]() 8531 if items is not None: 8532 for thing in items: 8533 if thing is not None: 8534 itemsList.Add(thing._Entity) 8535 return LoadPropertyUserGeneralBeamRowBulkUpdater(_api.LoadPropertyUserGeneralBeamRowBulkUpdater.GetBulkUpdater(application._Entity, itemsList))
8529 def GetBulkUpdater(application: Application, items: list[LoadPropertyUserGeneralBeamRow]) -> LoadPropertyUserGeneralBeamRowBulkUpdater: 8530 itemsList = List[_api.LoadPropertyUserGeneralBeamRow]() 8531 if items is not None: 8532 for thing in items: 8533 if thing is not None: 8534 itemsList.Add(thing._Entity) 8535 return LoadPropertyUserGeneralBeamRowBulkUpdater(_api.LoadPropertyUserGeneralBeamRowBulkUpdater.GetBulkUpdater(application._Entity, itemsList))
Inherited Members
8538class LoadPropertyUserGeneralPanelRow(LoadPropertyUserPanelJointRow): 8539 def __init__(self, loadPropertyUserGeneralPanelRow: _api.LoadPropertyUserGeneralPanelRow): 8540 self._Entity = loadPropertyUserGeneralPanelRow 8541 8542 @property 8543 def Nx(self) -> float: 8544 return self._Entity.Nx 8545 8546 @property 8547 def Ny(self) -> float: 8548 return self._Entity.Ny 8549 8550 @property 8551 def Nxy(self) -> float: 8552 return self._Entity.Nxy 8553 8554 @property 8555 def Mx(self) -> float: 8556 return self._Entity.Mx 8557 8558 @property 8559 def My(self) -> float: 8560 return self._Entity.My 8561 8562 @property 8563 def Mxy(self) -> float: 8564 return self._Entity.Mxy 8565 8566 @property 8567 def Qx(self) -> float: 8568 return self._Entity.Qx 8569 8570 @property 8571 def Qy(self) -> float: 8572 return self._Entity.Qy 8573 8574 @property 8575 def NxType(self) -> types.BoundaryConditionType: 8576 return types.BoundaryConditionType[self._Entity.NxType.ToString()] 8577 8578 @property 8579 def NyType(self) -> types.BoundaryConditionType: 8580 return types.BoundaryConditionType[self._Entity.NyType.ToString()] 8581 8582 @property 8583 def NxyType(self) -> types.BoundaryConditionType: 8584 return types.BoundaryConditionType[self._Entity.NxyType.ToString()] 8585 8586 @property 8587 def MxType(self) -> types.BoundaryConditionType: 8588 return types.BoundaryConditionType[self._Entity.MxType.ToString()] 8589 8590 @property 8591 def MyType(self) -> types.BoundaryConditionType: 8592 return types.BoundaryConditionType[self._Entity.MyType.ToString()] 8593 8594 @property 8595 def MxyType(self) -> types.BoundaryConditionType: 8596 return types.BoundaryConditionType[self._Entity.MxyType.ToString()] 8597 8598 @property 8599 def QxType(self) -> types.BoundaryConditionType: 8600 return types.BoundaryConditionType[self._Entity.QxType.ToString()] 8601 8602 @property 8603 def QyType(self) -> types.BoundaryConditionType: 8604 return types.BoundaryConditionType[self._Entity.QyType.ToString()] 8605 8606 @Nx.setter 8607 def Nx(self, value: float) -> None: 8608 self._Entity.Nx = value 8609 8610 @Ny.setter 8611 def Ny(self, value: float) -> None: 8612 self._Entity.Ny = value 8613 8614 @Nxy.setter 8615 def Nxy(self, value: float) -> None: 8616 self._Entity.Nxy = value 8617 8618 @Mx.setter 8619 def Mx(self, value: float) -> None: 8620 self._Entity.Mx = value 8621 8622 @My.setter 8623 def My(self, value: float) -> None: 8624 self._Entity.My = value 8625 8626 @Mxy.setter 8627 def Mxy(self, value: float) -> None: 8628 self._Entity.Mxy = value 8629 8630 @Qx.setter 8631 def Qx(self, value: float) -> None: 8632 self._Entity.Qx = value 8633 8634 @Qy.setter 8635 def Qy(self, value: float) -> None: 8636 self._Entity.Qy = value
Represents an entity with an ID and Name.
8639class LoadPropertyUserGeneralPanelRowBulkUpdater(LoadPropertyUserRowBulkUpdater): 8640 def __init__(self, loadPropertyUserGeneralPanelRowBulkUpdater: _api.LoadPropertyUserGeneralPanelRowBulkUpdater): 8641 self._Entity = loadPropertyUserGeneralPanelRowBulkUpdater 8642 8643 def GetBulkUpdater(application: Application, items: list[LoadPropertyUserGeneralPanelRow]) -> LoadPropertyUserGeneralPanelRowBulkUpdater: 8644 itemsList = List[_api.LoadPropertyUserGeneralPanelRow]() 8645 if items is not None: 8646 for thing in items: 8647 if thing is not None: 8648 itemsList.Add(thing._Entity) 8649 return LoadPropertyUserGeneralPanelRowBulkUpdater(_api.LoadPropertyUserGeneralPanelRowBulkUpdater.GetBulkUpdater(application._Entity, itemsList))
8643 def GetBulkUpdater(application: Application, items: list[LoadPropertyUserGeneralPanelRow]) -> LoadPropertyUserGeneralPanelRowBulkUpdater: 8644 itemsList = List[_api.LoadPropertyUserGeneralPanelRow]() 8645 if items is not None: 8646 for thing in items: 8647 if thing is not None: 8648 itemsList.Add(thing._Entity) 8649 return LoadPropertyUserGeneralPanelRowBulkUpdater(_api.LoadPropertyUserGeneralPanelRowBulkUpdater.GetBulkUpdater(application._Entity, itemsList))
Inherited Members
8652class LoadPropertyFea(LoadProperty): 8653 def __init__(self, loadPropertyFea: _api.LoadPropertyFea): 8654 self._Entity = loadPropertyFea 8655 8656 @property 8657 def HasNx(self) -> bool: 8658 return self._Entity.HasNx 8659 8660 @property 8661 def HasNy(self) -> bool: 8662 return self._Entity.HasNy 8663 8664 @property 8665 def HasNxy(self) -> bool: 8666 return self._Entity.HasNxy 8667 8668 @property 8669 def HasMx(self) -> bool: 8670 return self._Entity.HasMx 8671 8672 @property 8673 def HasMy(self) -> bool: 8674 return self._Entity.HasMy 8675 8676 @property 8677 def HasMxy(self) -> bool: 8678 return self._Entity.HasMxy 8679 8680 @property 8681 def HasQx(self) -> bool: 8682 return self._Entity.HasQx 8683 8684 @property 8685 def HasQy(self) -> bool: 8686 return self._Entity.HasQy 8687 8688 @property 8689 def HasM1a(self) -> bool: 8690 return self._Entity.HasM1a 8691 8692 @property 8693 def HasM1b(self) -> bool: 8694 return self._Entity.HasM1b 8695 8696 @property 8697 def M2a(self) -> bool: 8698 return self._Entity.M2a 8699 8700 @property 8701 def V1(self) -> bool: 8702 return self._Entity.V1 8703 8704 @property 8705 def V2(self) -> bool: 8706 return self._Entity.V2 8707 8708 @property 8709 def Axial(self) -> bool: 8710 return self._Entity.Axial 8711 8712 @property 8713 def Torque(self) -> bool: 8714 return self._Entity.Torque 8715 8716 @property 8717 def Tension(self) -> bool: 8718 return self._Entity.Tension 8719 8720 @property 8721 def Shear(self) -> bool: 8722 return self._Entity.Shear 8723 8724 @property 8725 def Moment(self) -> bool: 8726 return self._Entity.Moment 8727 8728 @HasNx.setter 8729 def HasNx(self, value: bool) -> None: 8730 self._Entity.HasNx = value 8731 8732 @HasNy.setter 8733 def HasNy(self, value: bool) -> None: 8734 self._Entity.HasNy = value 8735 8736 @HasNxy.setter 8737 def HasNxy(self, value: bool) -> None: 8738 self._Entity.HasNxy = value 8739 8740 @HasMx.setter 8741 def HasMx(self, value: bool) -> None: 8742 self._Entity.HasMx = value 8743 8744 @HasMy.setter 8745 def HasMy(self, value: bool) -> None: 8746 self._Entity.HasMy = value 8747 8748 @HasMxy.setter 8749 def HasMxy(self, value: bool) -> None: 8750 self._Entity.HasMxy = value 8751 8752 @HasQx.setter 8753 def HasQx(self, value: bool) -> None: 8754 self._Entity.HasQx = value 8755 8756 @HasQy.setter 8757 def HasQy(self, value: bool) -> None: 8758 self._Entity.HasQy = value 8759 8760 @HasM1a.setter 8761 def HasM1a(self, value: bool) -> None: 8762 self._Entity.HasM1a = value 8763 8764 @HasM1b.setter 8765 def HasM1b(self, value: bool) -> None: 8766 self._Entity.HasM1b = value 8767 8768 @M2a.setter 8769 def M2a(self, value: bool) -> None: 8770 self._Entity.M2a = value 8771 8772 @V1.setter 8773 def V1(self, value: bool) -> None: 8774 self._Entity.V1 = value 8775 8776 @V2.setter 8777 def V2(self, value: bool) -> None: 8778 self._Entity.V2 = value 8779 8780 @Axial.setter 8781 def Axial(self, value: bool) -> None: 8782 self._Entity.Axial = value 8783 8784 @Torque.setter 8785 def Torque(self, value: bool) -> None: 8786 self._Entity.Torque = value 8787 8788 @Tension.setter 8789 def Tension(self, value: bool) -> None: 8790 self._Entity.Tension = value 8791 8792 @Shear.setter 8793 def Shear(self, value: bool) -> None: 8794 self._Entity.Shear = value 8795 8796 @Moment.setter 8797 def Moment(self, value: bool) -> None: 8798 self._Entity.Moment = value
Represents an entity with an ID and Name.
Inherited Members
8801class LoadPropertyAverage(LoadPropertyFea): 8802 def __init__(self, loadPropertyAverage: _api.LoadPropertyAverage): 8803 self._Entity = loadPropertyAverage 8804 8805 @property 8806 def ElementType(self) -> types.LoadPropertyAverageElementType: 8807 return types.LoadPropertyAverageElementType[self._Entity.ElementType.ToString()] 8808 8809 @ElementType.setter 8810 def ElementType(self, value: types.LoadPropertyAverageElementType) -> None: 8811 self._Entity.ElementType = _types.LoadPropertyAverageElementType(value.value)
Represents an entity with an ID and Name.
8814class LoadPropertyElementBased(LoadPropertyFea): 8815 def __init__(self, loadPropertyElementBased: _api.LoadPropertyElementBased): 8816 self._Entity = loadPropertyElementBased
Represents an entity with an ID and Name.
8819class LoadPropertyNeighborAverage(LoadPropertyFea): 8820 def __init__(self, loadPropertyNeighborAverage: _api.LoadPropertyNeighborAverage): 8821 self._Entity = loadPropertyNeighborAverage 8822 8823 @property 8824 def NumberOfNeighborsPerSide(self) -> int: 8825 return self._Entity.NumberOfNeighborsPerSide 8826 8827 @NumberOfNeighborsPerSide.setter 8828 def NumberOfNeighborsPerSide(self, value: int) -> None: 8829 self._Entity.NumberOfNeighborsPerSide = value
Represents an entity with an ID and Name.
8832class LoadPropertyPeakLoad(LoadPropertyFea): 8833 def __init__(self, loadPropertyPeakLoad: _api.LoadPropertyPeakLoad): 8834 self._Entity = loadPropertyPeakLoad 8835 8836 @property 8837 def ElementScope(self) -> types.LoadPropertyPeakElementScope: 8838 return types.LoadPropertyPeakElementScope[self._Entity.ElementScope.ToString()] 8839 8840 @ElementScope.setter 8841 def ElementScope(self, value: types.LoadPropertyPeakElementScope) -> None: 8842 self._Entity.ElementScope = _types.LoadPropertyPeakElementScope(value.value)
Represents an entity with an ID and Name.
8845class LoadPropertyStatistical(LoadPropertyFea): 8846 def __init__(self, loadPropertyStatistical: _api.LoadPropertyStatistical): 8847 self._Entity = loadPropertyStatistical 8848 8849 @property 8850 def NSigma(self) -> int: 8851 return self._Entity.NSigma 8852 8853 @NSigma.setter 8854 def NSigma(self, value: int) -> None: 8855 self._Entity.NSigma = value
Represents an entity with an ID and Name.
8858class LoadPropertyUserFeaRowCol(IdNameEntityCol, Generic[T]): 8859 def __init__(self, loadPropertyUserFeaRowCol: _api.LoadPropertyUserFeaRowCol): 8860 self._Entity = loadPropertyUserFeaRowCol 8861 self._CollectedClass = T 8862 8863 @property 8864 def LoadPropertyUserFeaRowColList(self) -> tuple[T]: 8865 if self._Entity.Count() <= 0: 8866 return () 8867 thisClass = type(self._Entity._items[0]).__name__ 8868 givenClass = T 8869 for subclass in T.__subclasses__(): 8870 if subclass.__name__ == thisClass: 8871 givenClass = subclass 8872 return tuple([givenClass(loadPropertyUserFeaRowCol) for loadPropertyUserFeaRowCol in self._Entity]) 8873 8874 def AddScenario(self, name: str = None) -> T: 8875 ''' 8876 Adds a load scenario with default values. 8877 ''' 8878 return self._Entity.AddScenario(name) 8879 8880 @overload 8881 def DeleteScenario(self, scenarioId: int) -> bool: ... 8882 8883 @overload 8884 def DeleteScenario(self, scenarioName: str) -> bool: ... 8885 8886 @overload 8887 def Get(self, name: str) -> T: ... 8888 8889 @overload 8890 def Get(self, id: int) -> T: ... 8891 8892 def DeleteScenario(self, item1 = None) -> bool: 8893 if isinstance(item1, int): 8894 return self._Entity.DeleteScenario(item1) 8895 8896 if isinstance(item1, str): 8897 return self._Entity.DeleteScenario(item1) 8898 8899 return self._Entity.DeleteScenario(item1) 8900 8901 def Get(self, item1 = None) -> T: 8902 if isinstance(item1, str): 8903 return super().Get(item1) 8904 8905 if isinstance(item1, int): 8906 return super().Get(item1) 8907 8908 return self._Entity.Get(item1) 8909 8910 def __getitem__(self, index: int): 8911 return self.LoadPropertyUserFeaRowColList[index] 8912 8913 def __iter__(self): 8914 yield from self.LoadPropertyUserFeaRowColList 8915 8916 def __len__(self): 8917 return len(self.LoadPropertyUserFeaRowColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
8863 @property 8864 def LoadPropertyUserFeaRowColList(self) -> tuple[T]: 8865 if self._Entity.Count() <= 0: 8866 return () 8867 thisClass = type(self._Entity._items[0]).__name__ 8868 givenClass = T 8869 for subclass in T.__subclasses__(): 8870 if subclass.__name__ == thisClass: 8871 givenClass = subclass 8872 return tuple([givenClass(loadPropertyUserFeaRowCol) for loadPropertyUserFeaRowCol in self._Entity])
8874 def AddScenario(self, name: str = None) -> T: 8875 ''' 8876 Adds a load scenario with default values. 8877 ''' 8878 return self._Entity.AddScenario(name)
Adds a load scenario with default values.
Inherited Members
8920class LoadPropertyUserFeaBeamRowCol(LoadPropertyUserFeaRowCol[LoadPropertyUserFeaBeamRow]): 8921 def __init__(self, loadPropertyUserFeaBeamRowCol: _api.LoadPropertyUserFeaBeamRowCol): 8922 self._Entity = loadPropertyUserFeaBeamRowCol 8923 self._CollectedClass = LoadPropertyUserFeaBeamRow 8924 8925 @property 8926 def LoadPropertyUserFeaBeamRowColList(self) -> tuple[LoadPropertyUserFeaBeamRow]: 8927 return tuple([LoadPropertyUserFeaBeamRow(loadPropertyUserFeaBeamRowCol) for loadPropertyUserFeaBeamRowCol in self._Entity]) 8928 8929 @overload 8930 def DeleteScenario(self, scenarioId: int) -> bool: ... 8931 8932 @overload 8933 def DeleteScenario(self, scenarioName: str) -> bool: ... 8934 8935 @overload 8936 def Get(self, name: str) -> LoadPropertyUserFeaBeamRow: ... 8937 8938 @overload 8939 def Get(self, id: int) -> LoadPropertyUserFeaBeamRow: ... 8940 8941 def DeleteScenario(self, item1 = None) -> bool: 8942 if isinstance(item1, int): 8943 return bool(super().DeleteScenario(item1)) 8944 8945 if isinstance(item1, str): 8946 return bool(super().DeleteScenario(item1)) 8947 8948 return self._Entity.DeleteScenario(item1) 8949 8950 def Get(self, item1 = None) -> LoadPropertyUserFeaBeamRow: 8951 if isinstance(item1, str): 8952 return LoadPropertyUserFeaBeamRow(super().Get(item1)) 8953 8954 if isinstance(item1, int): 8955 return LoadPropertyUserFeaBeamRow(super().Get(item1)) 8956 8957 return LoadPropertyUserFeaBeamRow(self._Entity.Get(item1)) 8958 8959 def __getitem__(self, index: int): 8960 return self.LoadPropertyUserFeaBeamRowColList[index] 8961 8962 def __iter__(self): 8963 yield from self.LoadPropertyUserFeaBeamRowColList 8964 8965 def __len__(self): 8966 return len(self.LoadPropertyUserFeaBeamRowColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
8950 def Get(self, item1 = None) -> LoadPropertyUserFeaBeamRow: 8951 if isinstance(item1, str): 8952 return LoadPropertyUserFeaBeamRow(super().Get(item1)) 8953 8954 if isinstance(item1, int): 8955 return LoadPropertyUserFeaBeamRow(super().Get(item1)) 8956 8957 return LoadPropertyUserFeaBeamRow(self._Entity.Get(item1))
8969class LoadPropertyUserFeaBeam(LoadProperty): 8970 def __init__(self, loadPropertyUserFeaBeam: _api.LoadPropertyUserFeaBeam): 8971 self._Entity = loadPropertyUserFeaBeam 8972 8973 @property 8974 def UserFeaRows(self) -> LoadPropertyUserFeaBeamRowCol: 8975 result = self._Entity.UserFeaRows 8976 return LoadPropertyUserFeaBeamRowCol(result) if result is not None else None
Represents an entity with an ID and Name.
Inherited Members
8979class LoadPropertyUserFeaJointRowCol(LoadPropertyUserFeaRowCol[LoadPropertyUserFeaJointRow]): 8980 def __init__(self, loadPropertyUserFeaJointRowCol: _api.LoadPropertyUserFeaJointRowCol): 8981 self._Entity = loadPropertyUserFeaJointRowCol 8982 self._CollectedClass = LoadPropertyUserFeaJointRow 8983 8984 @property 8985 def LoadPropertyUserFeaJointRowColList(self) -> tuple[LoadPropertyUserFeaJointRow]: 8986 return tuple([LoadPropertyUserFeaJointRow(loadPropertyUserFeaJointRowCol) for loadPropertyUserFeaJointRowCol in self._Entity]) 8987 8988 @overload 8989 def DeleteScenario(self, scenarioId: int) -> bool: ... 8990 8991 @overload 8992 def DeleteScenario(self, scenarioName: str) -> bool: ... 8993 8994 @overload 8995 def Get(self, name: str) -> LoadPropertyUserFeaJointRow: ... 8996 8997 @overload 8998 def Get(self, id: int) -> LoadPropertyUserFeaJointRow: ... 8999 9000 def DeleteScenario(self, item1 = None) -> bool: 9001 if isinstance(item1, int): 9002 return bool(super().DeleteScenario(item1)) 9003 9004 if isinstance(item1, str): 9005 return bool(super().DeleteScenario(item1)) 9006 9007 return self._Entity.DeleteScenario(item1) 9008 9009 def Get(self, item1 = None) -> LoadPropertyUserFeaJointRow: 9010 if isinstance(item1, str): 9011 return LoadPropertyUserFeaJointRow(super().Get(item1)) 9012 9013 if isinstance(item1, int): 9014 return LoadPropertyUserFeaJointRow(super().Get(item1)) 9015 9016 return LoadPropertyUserFeaJointRow(self._Entity.Get(item1)) 9017 9018 def __getitem__(self, index: int): 9019 return self.LoadPropertyUserFeaJointRowColList[index] 9020 9021 def __iter__(self): 9022 yield from self.LoadPropertyUserFeaJointRowColList 9023 9024 def __len__(self): 9025 return len(self.LoadPropertyUserFeaJointRowColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
9009 def Get(self, item1 = None) -> LoadPropertyUserFeaJointRow: 9010 if isinstance(item1, str): 9011 return LoadPropertyUserFeaJointRow(super().Get(item1)) 9012 9013 if isinstance(item1, int): 9014 return LoadPropertyUserFeaJointRow(super().Get(item1)) 9015 9016 return LoadPropertyUserFeaJointRow(self._Entity.Get(item1))
9028class LoadPropertyUserFeaJoint(LoadProperty): 9029 def __init__(self, loadPropertyUserFeaJoint: _api.LoadPropertyUserFeaJoint): 9030 self._Entity = loadPropertyUserFeaJoint 9031 9032 @property 9033 def UserFeaRows(self) -> LoadPropertyUserFeaJointRowCol: 9034 result = self._Entity.UserFeaRows 9035 return LoadPropertyUserFeaJointRowCol(result) if result is not None else None
Represents an entity with an ID and Name.
Inherited Members
9038class LoadPropertyUserFeaPanelRowCol(LoadPropertyUserFeaRowCol[LoadPropertyUserFeaPanelRow]): 9039 def __init__(self, loadPropertyUserFeaPanelRowCol: _api.LoadPropertyUserFeaPanelRowCol): 9040 self._Entity = loadPropertyUserFeaPanelRowCol 9041 self._CollectedClass = LoadPropertyUserFeaPanelRow 9042 9043 @property 9044 def LoadPropertyUserFeaPanelRowColList(self) -> tuple[LoadPropertyUserFeaPanelRow]: 9045 return tuple([LoadPropertyUserFeaPanelRow(loadPropertyUserFeaPanelRowCol) for loadPropertyUserFeaPanelRowCol in self._Entity]) 9046 9047 @overload 9048 def DeleteScenario(self, scenarioId: int) -> bool: ... 9049 9050 @overload 9051 def DeleteScenario(self, scenarioName: str) -> bool: ... 9052 9053 @overload 9054 def Get(self, name: str) -> LoadPropertyUserFeaPanelRow: ... 9055 9056 @overload 9057 def Get(self, id: int) -> LoadPropertyUserFeaPanelRow: ... 9058 9059 def DeleteScenario(self, item1 = None) -> bool: 9060 if isinstance(item1, int): 9061 return bool(super().DeleteScenario(item1)) 9062 9063 if isinstance(item1, str): 9064 return bool(super().DeleteScenario(item1)) 9065 9066 return self._Entity.DeleteScenario(item1) 9067 9068 def Get(self, item1 = None) -> LoadPropertyUserFeaPanelRow: 9069 if isinstance(item1, str): 9070 return LoadPropertyUserFeaPanelRow(super().Get(item1)) 9071 9072 if isinstance(item1, int): 9073 return LoadPropertyUserFeaPanelRow(super().Get(item1)) 9074 9075 return LoadPropertyUserFeaPanelRow(self._Entity.Get(item1)) 9076 9077 def __getitem__(self, index: int): 9078 return self.LoadPropertyUserFeaPanelRowColList[index] 9079 9080 def __iter__(self): 9081 yield from self.LoadPropertyUserFeaPanelRowColList 9082 9083 def __len__(self): 9084 return len(self.LoadPropertyUserFeaPanelRowColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
9068 def Get(self, item1 = None) -> LoadPropertyUserFeaPanelRow: 9069 if isinstance(item1, str): 9070 return LoadPropertyUserFeaPanelRow(super().Get(item1)) 9071 9072 if isinstance(item1, int): 9073 return LoadPropertyUserFeaPanelRow(super().Get(item1)) 9074 9075 return LoadPropertyUserFeaPanelRow(self._Entity.Get(item1))
9087class LoadPropertyUserFeaPanel(LoadProperty): 9088 def __init__(self, loadPropertyUserFeaPanel: _api.LoadPropertyUserFeaPanel): 9089 self._Entity = loadPropertyUserFeaPanel 9090 9091 @property 9092 def UserFeaRows(self) -> LoadPropertyUserFeaPanelRowCol: 9093 result = self._Entity.UserFeaRows 9094 return LoadPropertyUserFeaPanelRowCol(result) if result is not None else None 9095 9096 def SetIsZeroCurvature(self, isZeroCurvature: bool) -> None: 9097 ''' 9098 Is there an enum for this? 9099 ''' 9100 return self._Entity.SetIsZeroCurvature(isZeroCurvature)
Represents an entity with an ID and Name.
9096 def SetIsZeroCurvature(self, isZeroCurvature: bool) -> None: 9097 ''' 9098 Is there an enum for this? 9099 ''' 9100 return self._Entity.SetIsZeroCurvature(isZeroCurvature)
Is there an enum for this?
Inherited Members
9103class LoadPropertyUserGeneralDoubleRow(IdNameEntity): 9104 def __init__(self, loadPropertyUserGeneralDoubleRow: _api.LoadPropertyUserGeneralDoubleRow): 9105 self._Entity = loadPropertyUserGeneralDoubleRow 9106 9107 @property 9108 def MechanicalRow(self) -> LoadPropertyUserRow: 9109 thisClass = type(self._Entity.MechanicalRow).__name__ 9110 givenClass = LoadPropertyUserRow 9111 for subclass in LoadPropertyUserRow.__subclasses__(): 9112 if subclass.__name__ == thisClass: 9113 givenClass = subclass 9114 result = self._Entity.MechanicalRow 9115 return givenClass(result) if result is not None else None 9116 9117 @property 9118 def ThermalRow(self) -> LoadPropertyUserRow: 9119 thisClass = type(self._Entity.ThermalRow).__name__ 9120 givenClass = LoadPropertyUserRow 9121 for subclass in LoadPropertyUserRow.__subclasses__(): 9122 if subclass.__name__ == thisClass: 9123 givenClass = subclass 9124 result = self._Entity.ThermalRow 9125 return givenClass(result) if result is not None else None 9126 9127 def SetName(self, name: str) -> None: 9128 ''' 9129 Update name for the scenario 9130 ''' 9131 return self._Entity.SetName(name)
Represents an entity with an ID and Name.
9107 @property 9108 def MechanicalRow(self) -> LoadPropertyUserRow: 9109 thisClass = type(self._Entity.MechanicalRow).__name__ 9110 givenClass = LoadPropertyUserRow 9111 for subclass in LoadPropertyUserRow.__subclasses__(): 9112 if subclass.__name__ == thisClass: 9113 givenClass = subclass 9114 result = self._Entity.MechanicalRow 9115 return givenClass(result) if result is not None else None
9117 @property 9118 def ThermalRow(self) -> LoadPropertyUserRow: 9119 thisClass = type(self._Entity.ThermalRow).__name__ 9120 givenClass = LoadPropertyUserRow 9121 for subclass in LoadPropertyUserRow.__subclasses__(): 9122 if subclass.__name__ == thisClass: 9123 givenClass = subclass 9124 result = self._Entity.ThermalRow 9125 return givenClass(result) if result is not None else None
9127 def SetName(self, name: str) -> None: 9128 ''' 9129 Update name for the scenario 9130 ''' 9131 return self._Entity.SetName(name)
Update name for the scenario
Inherited Members
9134class LoadPropertyUserGeneralBeamDoubleRow(LoadPropertyUserGeneralDoubleRow): 9135 def __init__(self, loadPropertyUserGeneralBeamDoubleRow: _api.LoadPropertyUserGeneralBeamDoubleRow): 9136 self._Entity = loadPropertyUserGeneralBeamDoubleRow 9137 9138 @property 9139 def MechanicalRow(self) -> LoadPropertyUserRow: 9140 thisClass = type(self._Entity.MechanicalRow).__name__ 9141 givenClass = LoadPropertyUserRow 9142 for subclass in LoadPropertyUserRow.__subclasses__(): 9143 if subclass.__name__ == thisClass: 9144 givenClass = subclass 9145 result = self._Entity.MechanicalRow 9146 return givenClass(result) if result is not None else None 9147 9148 @property 9149 def ThermalRow(self) -> LoadPropertyUserRow: 9150 thisClass = type(self._Entity.ThermalRow).__name__ 9151 givenClass = LoadPropertyUserRow 9152 for subclass in LoadPropertyUserRow.__subclasses__(): 9153 if subclass.__name__ == thisClass: 9154 givenClass = subclass 9155 result = self._Entity.ThermalRow 9156 return givenClass(result) if result is not None else None 9157 9158 @property 9159 def M1AType(self) -> types.BoundaryConditionType: 9160 return types.BoundaryConditionType[self._Entity.M1AType.ToString()] 9161 9162 @property 9163 def M2AType(self) -> types.BoundaryConditionType: 9164 return types.BoundaryConditionType[self._Entity.M2AType.ToString()] 9165 9166 @property 9167 def M1BType(self) -> types.BoundaryConditionType: 9168 return types.BoundaryConditionType[self._Entity.M1BType.ToString()] 9169 9170 @property 9171 def M2BType(self) -> types.BoundaryConditionType: 9172 return types.BoundaryConditionType[self._Entity.M2BType.ToString()] 9173 9174 @property 9175 def V1Type(self) -> types.BoundaryConditionType: 9176 return types.BoundaryConditionType[self._Entity.V1Type.ToString()] 9177 9178 @property 9179 def V2Type(self) -> types.BoundaryConditionType: 9180 return types.BoundaryConditionType[self._Entity.V2Type.ToString()] 9181 9182 @property 9183 def AxialType(self) -> types.BoundaryConditionType: 9184 return types.BoundaryConditionType[self._Entity.AxialType.ToString()] 9185 9186 @property 9187 def TorqueType(self) -> types.BoundaryConditionType: 9188 return types.BoundaryConditionType[self._Entity.TorqueType.ToString()] 9189 9190 def SetM1AType(self, type: types.BoundaryConditionType) -> None: 9191 ''' 9192 Set M1A type for the scenario 9193 ''' 9194 return self._Entity.SetM1AType(_types.BoundaryConditionType(type.value)) 9195 9196 def SetM2AType(self, type: types.BoundaryConditionType) -> None: 9197 ''' 9198 Set M2A type for the scenario 9199 ''' 9200 return self._Entity.SetM2AType(_types.BoundaryConditionType(type.value)) 9201 9202 def SetM1BType(self, type: types.BoundaryConditionType) -> None: 9203 ''' 9204 Set M1B type for the scenario 9205 ''' 9206 return self._Entity.SetM1BType(_types.BoundaryConditionType(type.value)) 9207 9208 def SetM2BType(self, type: types.BoundaryConditionType) -> None: 9209 ''' 9210 Set M2B type for the scenario 9211 ''' 9212 return self._Entity.SetM2BType(_types.BoundaryConditionType(type.value)) 9213 9214 def SetV1Type(self, type: types.BoundaryConditionType) -> None: 9215 ''' 9216 Set V1 type for the scenario 9217 ''' 9218 return self._Entity.SetV1Type(_types.BoundaryConditionType(type.value)) 9219 9220 def SetV2Type(self, type: types.BoundaryConditionType) -> None: 9221 ''' 9222 Set V2 type for the scenario 9223 ''' 9224 return self._Entity.SetV2Type(_types.BoundaryConditionType(type.value)) 9225 9226 def SetAxialType(self, type: types.BoundaryConditionType) -> None: 9227 ''' 9228 Set Axial type for the scenario 9229 ''' 9230 return self._Entity.SetAxialType(_types.BoundaryConditionType(type.value)) 9231 9232 def SetTorqueType(self, type: types.BoundaryConditionType) -> None: 9233 ''' 9234 Set torque type for the scenario 9235 ''' 9236 return self._Entity.SetTorqueType(_types.BoundaryConditionType(type.value))
Represents an entity with an ID and Name.
9138 @property 9139 def MechanicalRow(self) -> LoadPropertyUserRow: 9140 thisClass = type(self._Entity.MechanicalRow).__name__ 9141 givenClass = LoadPropertyUserRow 9142 for subclass in LoadPropertyUserRow.__subclasses__(): 9143 if subclass.__name__ == thisClass: 9144 givenClass = subclass 9145 result = self._Entity.MechanicalRow 9146 return givenClass(result) if result is not None else None
9148 @property 9149 def ThermalRow(self) -> LoadPropertyUserRow: 9150 thisClass = type(self._Entity.ThermalRow).__name__ 9151 givenClass = LoadPropertyUserRow 9152 for subclass in LoadPropertyUserRow.__subclasses__(): 9153 if subclass.__name__ == thisClass: 9154 givenClass = subclass 9155 result = self._Entity.ThermalRow 9156 return givenClass(result) if result is not None else None
9190 def SetM1AType(self, type: types.BoundaryConditionType) -> None: 9191 ''' 9192 Set M1A type for the scenario 9193 ''' 9194 return self._Entity.SetM1AType(_types.BoundaryConditionType(type.value))
Set M1A type for the scenario
9196 def SetM2AType(self, type: types.BoundaryConditionType) -> None: 9197 ''' 9198 Set M2A type for the scenario 9199 ''' 9200 return self._Entity.SetM2AType(_types.BoundaryConditionType(type.value))
Set M2A type for the scenario
9202 def SetM1BType(self, type: types.BoundaryConditionType) -> None: 9203 ''' 9204 Set M1B type for the scenario 9205 ''' 9206 return self._Entity.SetM1BType(_types.BoundaryConditionType(type.value))
Set M1B type for the scenario
9208 def SetM2BType(self, type: types.BoundaryConditionType) -> None: 9209 ''' 9210 Set M2B type for the scenario 9211 ''' 9212 return self._Entity.SetM2BType(_types.BoundaryConditionType(type.value))
Set M2B type for the scenario
9214 def SetV1Type(self, type: types.BoundaryConditionType) -> None: 9215 ''' 9216 Set V1 type for the scenario 9217 ''' 9218 return self._Entity.SetV1Type(_types.BoundaryConditionType(type.value))
Set V1 type for the scenario
9220 def SetV2Type(self, type: types.BoundaryConditionType) -> None: 9221 ''' 9222 Set V2 type for the scenario 9223 ''' 9224 return self._Entity.SetV2Type(_types.BoundaryConditionType(type.value))
Set V2 type for the scenario
9226 def SetAxialType(self, type: types.BoundaryConditionType) -> None: 9227 ''' 9228 Set Axial type for the scenario 9229 ''' 9230 return self._Entity.SetAxialType(_types.BoundaryConditionType(type.value))
Set Axial type for the scenario
9232 def SetTorqueType(self, type: types.BoundaryConditionType) -> None: 9233 ''' 9234 Set torque type for the scenario 9235 ''' 9236 return self._Entity.SetTorqueType(_types.BoundaryConditionType(type.value))
Set torque type for the scenario
Inherited Members
9239class LoadPropertyUserGeneralRowCol(IdNameEntityCol, Generic[T]): 9240 def __init__(self, loadPropertyUserGeneralRowCol: _api.LoadPropertyUserGeneralRowCol): 9241 self._Entity = loadPropertyUserGeneralRowCol 9242 self._CollectedClass = T 9243 9244 @property 9245 def LoadPropertyUserGeneralRowColList(self) -> tuple[T]: 9246 if self._Entity.Count() <= 0: 9247 return () 9248 thisClass = type(self._Entity._items[0]).__name__ 9249 givenClass = T 9250 for subclass in T.__subclasses__(): 9251 if subclass.__name__ == thisClass: 9252 givenClass = subclass 9253 return tuple([givenClass(loadPropertyUserGeneralRowCol) for loadPropertyUserGeneralRowCol in self._Entity]) 9254 9255 def AddScenario(self, name: str = None) -> T: 9256 ''' 9257 Add scenario. 9258 ''' 9259 return self._Entity.AddScenario(name) 9260 9261 @overload 9262 def DeleteScenario(self, scenarioId: int) -> bool: ... 9263 9264 @overload 9265 def DeleteScenario(self, scenarioName: str) -> bool: ... 9266 9267 @overload 9268 def Get(self, name: str) -> T: ... 9269 9270 @overload 9271 def Get(self, id: int) -> T: ... 9272 9273 def DeleteScenario(self, item1 = None) -> bool: 9274 if isinstance(item1, int): 9275 return self._Entity.DeleteScenario(item1) 9276 9277 if isinstance(item1, str): 9278 return self._Entity.DeleteScenario(item1) 9279 9280 return self._Entity.DeleteScenario(item1) 9281 9282 def Get(self, item1 = None) -> T: 9283 if isinstance(item1, str): 9284 return super().Get(item1) 9285 9286 if isinstance(item1, int): 9287 return super().Get(item1) 9288 9289 return self._Entity.Get(item1) 9290 9291 def __getitem__(self, index: int): 9292 return self.LoadPropertyUserGeneralRowColList[index] 9293 9294 def __iter__(self): 9295 yield from self.LoadPropertyUserGeneralRowColList 9296 9297 def __len__(self): 9298 return len(self.LoadPropertyUserGeneralRowColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
9244 @property 9245 def LoadPropertyUserGeneralRowColList(self) -> tuple[T]: 9246 if self._Entity.Count() <= 0: 9247 return () 9248 thisClass = type(self._Entity._items[0]).__name__ 9249 givenClass = T 9250 for subclass in T.__subclasses__(): 9251 if subclass.__name__ == thisClass: 9252 givenClass = subclass 9253 return tuple([givenClass(loadPropertyUserGeneralRowCol) for loadPropertyUserGeneralRowCol in self._Entity])
9255 def AddScenario(self, name: str = None) -> T: 9256 ''' 9257 Add scenario. 9258 ''' 9259 return self._Entity.AddScenario(name)
Add scenario.
Inherited Members
9301class LoadPropertyUserGeneralBeamRowCol(LoadPropertyUserGeneralRowCol[LoadPropertyUserGeneralBeamDoubleRow]): 9302 def __init__(self, loadPropertyUserGeneralBeamRowCol: _api.LoadPropertyUserGeneralBeamRowCol): 9303 self._Entity = loadPropertyUserGeneralBeamRowCol 9304 self._CollectedClass = LoadPropertyUserGeneralBeamDoubleRow 9305 9306 @property 9307 def LoadPropertyUserGeneralBeamRowColList(self) -> tuple[LoadPropertyUserGeneralBeamDoubleRow]: 9308 return tuple([LoadPropertyUserGeneralBeamDoubleRow(loadPropertyUserGeneralBeamRowCol) for loadPropertyUserGeneralBeamRowCol in self._Entity]) 9309 9310 @overload 9311 def DeleteScenario(self, scenarioId: int) -> bool: ... 9312 9313 @overload 9314 def DeleteScenario(self, scenarioName: str) -> bool: ... 9315 9316 @overload 9317 def Get(self, name: str) -> LoadPropertyUserGeneralBeamDoubleRow: ... 9318 9319 @overload 9320 def Get(self, id: int) -> LoadPropertyUserGeneralBeamDoubleRow: ... 9321 9322 def DeleteScenario(self, item1 = None) -> bool: 9323 if isinstance(item1, int): 9324 return bool(super().DeleteScenario(item1)) 9325 9326 if isinstance(item1, str): 9327 return bool(super().DeleteScenario(item1)) 9328 9329 return self._Entity.DeleteScenario(item1) 9330 9331 def Get(self, item1 = None) -> LoadPropertyUserGeneralBeamDoubleRow: 9332 if isinstance(item1, str): 9333 return LoadPropertyUserGeneralBeamDoubleRow(super().Get(item1)) 9334 9335 if isinstance(item1, int): 9336 return LoadPropertyUserGeneralBeamDoubleRow(super().Get(item1)) 9337 9338 return LoadPropertyUserGeneralBeamDoubleRow(self._Entity.Get(item1)) 9339 9340 def __getitem__(self, index: int): 9341 return self.LoadPropertyUserGeneralBeamRowColList[index] 9342 9343 def __iter__(self): 9344 yield from self.LoadPropertyUserGeneralBeamRowColList 9345 9346 def __len__(self): 9347 return len(self.LoadPropertyUserGeneralBeamRowColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
9331 def Get(self, item1 = None) -> LoadPropertyUserGeneralBeamDoubleRow: 9332 if isinstance(item1, str): 9333 return LoadPropertyUserGeneralBeamDoubleRow(super().Get(item1)) 9334 9335 if isinstance(item1, int): 9336 return LoadPropertyUserGeneralBeamDoubleRow(super().Get(item1)) 9337 9338 return LoadPropertyUserGeneralBeamDoubleRow(self._Entity.Get(item1))
9350class LoadPropertyUserGeneralBeam(LoadProperty): 9351 def __init__(self, loadPropertyUserGeneralBeam: _api.LoadPropertyUserGeneralBeam): 9352 self._Entity = loadPropertyUserGeneralBeam 9353 9354 @property 9355 def UserGeneralRows(self) -> LoadPropertyUserGeneralBeamRowCol: 9356 result = self._Entity.UserGeneralRows 9357 return LoadPropertyUserGeneralBeamRowCol(result) if result is not None else None 9358 9359 @property 9360 def IsIncludingThermal(self) -> bool: 9361 return self._Entity.IsIncludingThermal 9362 9363 @IsIncludingThermal.setter 9364 def IsIncludingThermal(self, value: bool) -> None: 9365 self._Entity.IsIncludingThermal = value
Represents an entity with an ID and Name.
Inherited Members
9368class LoadPropertyUserGeneralBoltedRow(IdEntity): 9369 def __init__(self, loadPropertyUserGeneralBoltedRow: _api.LoadPropertyUserGeneralBoltedRow): 9370 self._Entity = loadPropertyUserGeneralBoltedRow 9371 9372 @property 9373 def LoadPropertyId(self) -> int: 9374 return self._Entity.LoadPropertyId 9375 9376 @property 9377 def LoadScenarioId(self) -> int: 9378 return self._Entity.LoadScenarioId 9379 9380 @property 9381 def Fx(self) -> float: 9382 return self._Entity.Fx 9383 9384 @property 9385 def Fy(self) -> float: 9386 return self._Entity.Fy 9387 9388 @property 9389 def Fz(self) -> float: 9390 return self._Entity.Fz 9391 9392 @property 9393 def Mx(self) -> float: 9394 return self._Entity.Mx 9395 9396 @property 9397 def My(self) -> float: 9398 return self._Entity.My 9399 9400 @property 9401 def Mz(self) -> float: 9402 return self._Entity.Mz 9403 9404 @property 9405 def NxBypass(self) -> float: 9406 return self._Entity.NxBypass 9407 9408 @property 9409 def NyBypass(self) -> float: 9410 return self._Entity.NyBypass 9411 9412 @property 9413 def NxyBypass(self) -> float: 9414 return self._Entity.NxyBypass 9415 9416 @property 9417 def LimitFactor(self) -> float: 9418 return self._Entity.LimitFactor 9419 9420 @property 9421 def UltimateFactor(self) -> float: 9422 return self._Entity.UltimateFactor 9423 9424 @Fx.setter 9425 def Fx(self, value: float) -> None: 9426 self._Entity.Fx = value 9427 9428 @Fy.setter 9429 def Fy(self, value: float) -> None: 9430 self._Entity.Fy = value 9431 9432 @Fz.setter 9433 def Fz(self, value: float) -> None: 9434 self._Entity.Fz = value 9435 9436 @Mx.setter 9437 def Mx(self, value: float) -> None: 9438 self._Entity.Mx = value 9439 9440 @My.setter 9441 def My(self, value: float) -> None: 9442 self._Entity.My = value 9443 9444 @Mz.setter 9445 def Mz(self, value: float) -> None: 9446 self._Entity.Mz = value 9447 9448 @NxBypass.setter 9449 def NxBypass(self, value: float) -> None: 9450 self._Entity.NxBypass = value 9451 9452 @NyBypass.setter 9453 def NyBypass(self, value: float) -> None: 9454 self._Entity.NyBypass = value 9455 9456 @NxyBypass.setter 9457 def NxyBypass(self, value: float) -> None: 9458 self._Entity.NxyBypass = value 9459 9460 @LimitFactor.setter 9461 def LimitFactor(self, value: float) -> None: 9462 self._Entity.LimitFactor = value 9463 9464 @UltimateFactor.setter 9465 def UltimateFactor(self, value: float) -> None: 9466 self._Entity.UltimateFactor = value
Represents an entity with an ID.
9469class LoadPropertyUserGeneralBoltedRowCol(IdEntityCol[LoadPropertyUserGeneralBoltedRow]): 9470 def __init__(self, loadPropertyUserGeneralBoltedRowCol: _api.LoadPropertyUserGeneralBoltedRowCol): 9471 self._Entity = loadPropertyUserGeneralBoltedRowCol 9472 self._CollectedClass = LoadPropertyUserGeneralBoltedRow 9473 9474 @property 9475 def LoadPropertyUserGeneralBoltedRowColList(self) -> tuple[LoadPropertyUserGeneralBoltedRow]: 9476 return tuple([LoadPropertyUserGeneralBoltedRow(loadPropertyUserGeneralBoltedRowCol) for loadPropertyUserGeneralBoltedRowCol in self._Entity]) 9477 9478 def AddScenario(self) -> None: 9479 ''' 9480 Adds a load scenario with default values 9481 ''' 9482 return self._Entity.AddScenario() 9483 9484 def DeleteScenario(self, scenarioId: int) -> bool: 9485 ''' 9486 Delete a load scenario by id 9487 ''' 9488 return self._Entity.DeleteScenario(scenarioId) 9489 9490 def __getitem__(self, index: int): 9491 return self.LoadPropertyUserGeneralBoltedRowColList[index] 9492 9493 def __iter__(self): 9494 yield from self.LoadPropertyUserGeneralBoltedRowColList 9495 9496 def __len__(self): 9497 return len(self.LoadPropertyUserGeneralBoltedRowColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
9478 def AddScenario(self) -> None: 9479 ''' 9480 Adds a load scenario with default values 9481 ''' 9482 return self._Entity.AddScenario()
Adds a load scenario with default values
9484 def DeleteScenario(self, scenarioId: int) -> bool: 9485 ''' 9486 Delete a load scenario by id 9487 ''' 9488 return self._Entity.DeleteScenario(scenarioId)
Delete a load scenario by id
Inherited Members
9500class LoadPropertyUserGeneralBolted(LoadProperty): 9501 def __init__(self, loadPropertyUserGeneralBolted: _api.LoadPropertyUserGeneralBolted): 9502 self._Entity = loadPropertyUserGeneralBolted 9503 9504 @property 9505 def UserGeneralBoltedRows(self) -> LoadPropertyUserGeneralBoltedRowCol: 9506 result = self._Entity.UserGeneralBoltedRows 9507 return LoadPropertyUserGeneralBoltedRowCol(result) if result is not None else None
Represents an entity with an ID and Name.
Inherited Members
9510class LoadPropertyUserGeneralBondedRow(IdEntity): 9511 def __init__(self, loadPropertyUserGeneralBondedRow: _api.LoadPropertyUserGeneralBondedRow): 9512 self._Entity = loadPropertyUserGeneralBondedRow 9513 9514 @property 9515 def LoadPropertyId(self) -> int: 9516 return self._Entity.LoadPropertyId 9517 9518 @property 9519 def JointConceptId(self) -> types.JointConceptId: 9520 return types.JointConceptId[self._Entity.JointConceptId.ToString()] 9521 9522 @property 9523 def BondedBcId(self) -> int: 9524 return self._Entity.BondedBcId 9525 9526 @property 9527 def AxialType(self) -> types.BoundaryConditionType: 9528 return types.BoundaryConditionType[self._Entity.AxialType.ToString()] 9529 9530 @property 9531 def MomentType(self) -> types.BoundaryConditionType: 9532 return types.BoundaryConditionType[self._Entity.MomentType.ToString()] 9533 9534 @property 9535 def TransverseType(self) -> types.BoundaryConditionType: 9536 return types.BoundaryConditionType[self._Entity.TransverseType.ToString()] 9537 9538 @property 9539 def ShearType(self) -> types.BoundaryConditionType: 9540 return types.BoundaryConditionType[self._Entity.ShearType.ToString()] 9541 9542 @property 9543 def Axial(self) -> float: 9544 return self._Entity.Axial 9545 9546 @property 9547 def Moment(self) -> float: 9548 return self._Entity.Moment 9549 9550 @property 9551 def Transverse(self) -> float: 9552 return self._Entity.Transverse 9553 9554 @property 9555 def Shear(self) -> float: 9556 return self._Entity.Shear 9557 9558 @AxialType.setter 9559 def AxialType(self, value: types.BoundaryConditionType) -> None: 9560 self._Entity.AxialType = _types.BoundaryConditionType(value.value) 9561 9562 @MomentType.setter 9563 def MomentType(self, value: types.BoundaryConditionType) -> None: 9564 self._Entity.MomentType = _types.BoundaryConditionType(value.value) 9565 9566 @TransverseType.setter 9567 def TransverseType(self, value: types.BoundaryConditionType) -> None: 9568 self._Entity.TransverseType = _types.BoundaryConditionType(value.value) 9569 9570 @ShearType.setter 9571 def ShearType(self, value: types.BoundaryConditionType) -> None: 9572 self._Entity.ShearType = _types.BoundaryConditionType(value.value) 9573 9574 @Axial.setter 9575 def Axial(self, value: float) -> None: 9576 self._Entity.Axial = value 9577 9578 @Moment.setter 9579 def Moment(self, value: float) -> None: 9580 self._Entity.Moment = value 9581 9582 @Transverse.setter 9583 def Transverse(self, value: float) -> None: 9584 self._Entity.Transverse = value 9585 9586 @Shear.setter 9587 def Shear(self, value: float) -> None: 9588 self._Entity.Shear = value 9589 9590 def UpdateRow(self) -> None: 9591 return self._Entity.UpdateRow()
Represents an entity with an ID.
9594class LoadPropertyUserGeneralBondedRowCol(IdEntityCol[LoadPropertyUserGeneralBondedRow]): 9595 def __init__(self, loadPropertyUserGeneralBondedRowCol: _api.LoadPropertyUserGeneralBondedRowCol): 9596 self._Entity = loadPropertyUserGeneralBondedRowCol 9597 self._CollectedClass = LoadPropertyUserGeneralBondedRow 9598 9599 @property 9600 def LoadPropertyUserGeneralBondedRowColList(self) -> tuple[LoadPropertyUserGeneralBondedRow]: 9601 return tuple([LoadPropertyUserGeneralBondedRow(loadPropertyUserGeneralBondedRowCol) for loadPropertyUserGeneralBondedRowCol in self._Entity]) 9602 9603 def __getitem__(self, index: int): 9604 return self.LoadPropertyUserGeneralBondedRowColList[index] 9605 9606 def __iter__(self): 9607 yield from self.LoadPropertyUserGeneralBondedRowColList 9608 9609 def __len__(self): 9610 return len(self.LoadPropertyUserGeneralBondedRowColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
Inherited Members
9613class LoadPropertyJoint(IdEntity): 9614 def __init__(self, loadPropertyJoint: _api.LoadPropertyJoint): 9615 self._Entity = loadPropertyJoint 9616 9617 @property 9618 def UserGeneralBondedRows(self) -> LoadPropertyUserGeneralBondedRowCol: 9619 result = self._Entity.UserGeneralBondedRows 9620 return LoadPropertyUserGeneralBondedRowCol(result) if result is not None else None 9621 9622 @property 9623 def LoadPropertyId(self) -> int: 9624 return self._Entity.LoadPropertyId 9625 9626 @property 9627 def JConceptId(self) -> types.JointConceptId: 9628 return types.JointConceptId[self._Entity.JConceptId.ToString()] 9629 9630 @property 9631 def Ex(self) -> float: 9632 return self._Entity.Ex 9633 9634 @property 9635 def Kx(self) -> float: 9636 return self._Entity.Kx 9637 9638 @property 9639 def Kxy(self) -> float: 9640 return self._Entity.Kxy 9641 9642 @property 9643 def Temperature(self) -> float: 9644 return self._Entity.Temperature 9645 9646 @JConceptId.setter 9647 def JConceptId(self, value: types.JointConceptId) -> None: 9648 self._Entity.JConceptId = _types.JointConceptId(value.value) 9649 9650 @Ex.setter 9651 def Ex(self, value: float) -> None: 9652 self._Entity.Ex = value 9653 9654 @Kx.setter 9655 def Kx(self, value: float) -> None: 9656 self._Entity.Kx = value 9657 9658 @Kxy.setter 9659 def Kxy(self, value: float) -> None: 9660 self._Entity.Kxy = value 9661 9662 @Temperature.setter 9663 def Temperature(self, value: float) -> None: 9664 self._Entity.Temperature = value
Represents an entity with an ID.
9667class LoadPropertyUserGeneralBonded(LoadProperty): 9668 def __init__(self, loadPropertyUserGeneralBonded: _api.LoadPropertyUserGeneralBonded): 9669 self._Entity = loadPropertyUserGeneralBonded 9670 9671 @property 9672 def LoadPropertyJoint(self) -> LoadPropertyJoint: 9673 result = self._Entity.LoadPropertyJoint 9674 return LoadPropertyJoint(result) if result is not None else None
Represents an entity with an ID and Name.
Inherited Members
9677class LoadPropertyUserGeneralPanelDoubleRow(LoadPropertyUserGeneralDoubleRow): 9678 def __init__(self, loadPropertyUserGeneralPanelDoubleRow: _api.LoadPropertyUserGeneralPanelDoubleRow): 9679 self._Entity = loadPropertyUserGeneralPanelDoubleRow 9680 9681 @property 9682 def MechanicalRow(self) -> LoadPropertyUserRow: 9683 thisClass = type(self._Entity.MechanicalRow).__name__ 9684 givenClass = LoadPropertyUserRow 9685 for subclass in LoadPropertyUserRow.__subclasses__(): 9686 if subclass.__name__ == thisClass: 9687 givenClass = subclass 9688 result = self._Entity.MechanicalRow 9689 return givenClass(result) if result is not None else None 9690 9691 @property 9692 def ThermalRow(self) -> LoadPropertyUserRow: 9693 thisClass = type(self._Entity.ThermalRow).__name__ 9694 givenClass = LoadPropertyUserRow 9695 for subclass in LoadPropertyUserRow.__subclasses__(): 9696 if subclass.__name__ == thisClass: 9697 givenClass = subclass 9698 result = self._Entity.ThermalRow 9699 return givenClass(result) if result is not None else None 9700 9701 @property 9702 def NxType(self) -> types.BoundaryConditionType: 9703 return types.BoundaryConditionType[self._Entity.NxType.ToString()] 9704 9705 @property 9706 def NyType(self) -> types.BoundaryConditionType: 9707 return types.BoundaryConditionType[self._Entity.NyType.ToString()] 9708 9709 @property 9710 def NxyType(self) -> types.BoundaryConditionType: 9711 return types.BoundaryConditionType[self._Entity.NxyType.ToString()] 9712 9713 @property 9714 def MxType(self) -> types.BoundaryConditionType: 9715 return types.BoundaryConditionType[self._Entity.MxType.ToString()] 9716 9717 @property 9718 def MyType(self) -> types.BoundaryConditionType: 9719 return types.BoundaryConditionType[self._Entity.MyType.ToString()] 9720 9721 @property 9722 def MxyType(self) -> types.BoundaryConditionType: 9723 return types.BoundaryConditionType[self._Entity.MxyType.ToString()] 9724 9725 @property 9726 def QxType(self) -> types.BoundaryConditionType: 9727 return types.BoundaryConditionType[self._Entity.QxType.ToString()] 9728 9729 @property 9730 def QyType(self) -> types.BoundaryConditionType: 9731 return types.BoundaryConditionType[self._Entity.QyType.ToString()] 9732 9733 def SetNxType(self, type: types.BoundaryConditionType) -> None: 9734 ''' 9735 Set Nx type for the scenario 9736 ''' 9737 return self._Entity.SetNxType(_types.BoundaryConditionType(type.value)) 9738 9739 def SetNyType(self, type: types.BoundaryConditionType) -> None: 9740 ''' 9741 Set Ny type for the scenario 9742 ''' 9743 return self._Entity.SetNyType(_types.BoundaryConditionType(type.value)) 9744 9745 def SetNxyType(self, type: types.BoundaryConditionType) -> None: 9746 ''' 9747 Set Nxy type for the scenario 9748 ''' 9749 return self._Entity.SetNxyType(_types.BoundaryConditionType(type.value)) 9750 9751 def SetMxType(self, type: types.BoundaryConditionType) -> None: 9752 ''' 9753 Set Mx type for the scenario 9754 ''' 9755 return self._Entity.SetMxType(_types.BoundaryConditionType(type.value)) 9756 9757 def SetMyType(self, type: types.BoundaryConditionType) -> None: 9758 ''' 9759 Set My type for the scenario 9760 ''' 9761 return self._Entity.SetMyType(_types.BoundaryConditionType(type.value)) 9762 9763 def SetMxyType(self, type: types.BoundaryConditionType) -> None: 9764 ''' 9765 Set Mxy type for the scenario 9766 ''' 9767 return self._Entity.SetMxyType(_types.BoundaryConditionType(type.value)) 9768 9769 def SetQxType(self, type: types.BoundaryConditionType) -> None: 9770 ''' 9771 Set Qx type for the scenario 9772 ''' 9773 return self._Entity.SetQxType(_types.BoundaryConditionType(type.value)) 9774 9775 def SetQyType(self, type: types.BoundaryConditionType) -> None: 9776 ''' 9777 Set Qy type for the scenario 9778 ''' 9779 return self._Entity.SetQyType(_types.BoundaryConditionType(type.value))
Represents an entity with an ID and Name.
9681 @property 9682 def MechanicalRow(self) -> LoadPropertyUserRow: 9683 thisClass = type(self._Entity.MechanicalRow).__name__ 9684 givenClass = LoadPropertyUserRow 9685 for subclass in LoadPropertyUserRow.__subclasses__(): 9686 if subclass.__name__ == thisClass: 9687 givenClass = subclass 9688 result = self._Entity.MechanicalRow 9689 return givenClass(result) if result is not None else None
9691 @property 9692 def ThermalRow(self) -> LoadPropertyUserRow: 9693 thisClass = type(self._Entity.ThermalRow).__name__ 9694 givenClass = LoadPropertyUserRow 9695 for subclass in LoadPropertyUserRow.__subclasses__(): 9696 if subclass.__name__ == thisClass: 9697 givenClass = subclass 9698 result = self._Entity.ThermalRow 9699 return givenClass(result) if result is not None else None
9733 def SetNxType(self, type: types.BoundaryConditionType) -> None: 9734 ''' 9735 Set Nx type for the scenario 9736 ''' 9737 return self._Entity.SetNxType(_types.BoundaryConditionType(type.value))
Set Nx type for the scenario
9739 def SetNyType(self, type: types.BoundaryConditionType) -> None: 9740 ''' 9741 Set Ny type for the scenario 9742 ''' 9743 return self._Entity.SetNyType(_types.BoundaryConditionType(type.value))
Set Ny type for the scenario
9745 def SetNxyType(self, type: types.BoundaryConditionType) -> None: 9746 ''' 9747 Set Nxy type for the scenario 9748 ''' 9749 return self._Entity.SetNxyType(_types.BoundaryConditionType(type.value))
Set Nxy type for the scenario
9751 def SetMxType(self, type: types.BoundaryConditionType) -> None: 9752 ''' 9753 Set Mx type for the scenario 9754 ''' 9755 return self._Entity.SetMxType(_types.BoundaryConditionType(type.value))
Set Mx type for the scenario
9757 def SetMyType(self, type: types.BoundaryConditionType) -> None: 9758 ''' 9759 Set My type for the scenario 9760 ''' 9761 return self._Entity.SetMyType(_types.BoundaryConditionType(type.value))
Set My type for the scenario
9763 def SetMxyType(self, type: types.BoundaryConditionType) -> None: 9764 ''' 9765 Set Mxy type for the scenario 9766 ''' 9767 return self._Entity.SetMxyType(_types.BoundaryConditionType(type.value))
Set Mxy type for the scenario
9769 def SetQxType(self, type: types.BoundaryConditionType) -> None: 9770 ''' 9771 Set Qx type for the scenario 9772 ''' 9773 return self._Entity.SetQxType(_types.BoundaryConditionType(type.value))
Set Qx type for the scenario
9775 def SetQyType(self, type: types.BoundaryConditionType) -> None: 9776 ''' 9777 Set Qy type for the scenario 9778 ''' 9779 return self._Entity.SetQyType(_types.BoundaryConditionType(type.value))
Set Qy type for the scenario
Inherited Members
9782class LoadPropertyUserGeneralPanelRowCol(LoadPropertyUserGeneralRowCol[LoadPropertyUserGeneralPanelDoubleRow]): 9783 def __init__(self, loadPropertyUserGeneralPanelRowCol: _api.LoadPropertyUserGeneralPanelRowCol): 9784 self._Entity = loadPropertyUserGeneralPanelRowCol 9785 self._CollectedClass = LoadPropertyUserGeneralPanelDoubleRow 9786 9787 @property 9788 def LoadPropertyUserGeneralPanelRowColList(self) -> tuple[LoadPropertyUserGeneralPanelDoubleRow]: 9789 return tuple([LoadPropertyUserGeneralPanelDoubleRow(loadPropertyUserGeneralPanelRowCol) for loadPropertyUserGeneralPanelRowCol in self._Entity]) 9790 9791 @overload 9792 def DeleteScenario(self, scenarioId: int) -> bool: ... 9793 9794 @overload 9795 def DeleteScenario(self, scenarioName: str) -> bool: ... 9796 9797 @overload 9798 def Get(self, name: str) -> LoadPropertyUserGeneralPanelDoubleRow: ... 9799 9800 @overload 9801 def Get(self, id: int) -> LoadPropertyUserGeneralPanelDoubleRow: ... 9802 9803 def DeleteScenario(self, item1 = None) -> bool: 9804 if isinstance(item1, int): 9805 return bool(super().DeleteScenario(item1)) 9806 9807 if isinstance(item1, str): 9808 return bool(super().DeleteScenario(item1)) 9809 9810 return self._Entity.DeleteScenario(item1) 9811 9812 def Get(self, item1 = None) -> LoadPropertyUserGeneralPanelDoubleRow: 9813 if isinstance(item1, str): 9814 return LoadPropertyUserGeneralPanelDoubleRow(super().Get(item1)) 9815 9816 if isinstance(item1, int): 9817 return LoadPropertyUserGeneralPanelDoubleRow(super().Get(item1)) 9818 9819 return LoadPropertyUserGeneralPanelDoubleRow(self._Entity.Get(item1)) 9820 9821 def __getitem__(self, index: int): 9822 return self.LoadPropertyUserGeneralPanelRowColList[index] 9823 9824 def __iter__(self): 9825 yield from self.LoadPropertyUserGeneralPanelRowColList 9826 9827 def __len__(self): 9828 return len(self.LoadPropertyUserGeneralPanelRowColList)
Abstract base class for generic types.
A generic type is typically declared by inheriting from this class parameterized with one or more type variables. For example, a generic mapping type might be defined as::
class Mapping(Generic[KT, VT]): def __getitem__(self, key: KT) -> VT: ... # Etc.
This class can then be used as follows::
def lookup_name(mapping: Mapping[KT, VT], key: KT, default: VT) -> VT: try: return mapping[key] except KeyError: return default
9812 def Get(self, item1 = None) -> LoadPropertyUserGeneralPanelDoubleRow: 9813 if isinstance(item1, str): 9814 return LoadPropertyUserGeneralPanelDoubleRow(super().Get(item1)) 9815 9816 if isinstance(item1, int): 9817 return LoadPropertyUserGeneralPanelDoubleRow(super().Get(item1)) 9818 9819 return LoadPropertyUserGeneralPanelDoubleRow(self._Entity.Get(item1))
9831class LoadPropertyUserGeneralPanel(LoadProperty): 9832 def __init__(self, loadPropertyUserGeneralPanel: _api.LoadPropertyUserGeneralPanel): 9833 self._Entity = loadPropertyUserGeneralPanel 9834 9835 @property 9836 def UserGeneralRows(self) -> LoadPropertyUserGeneralPanelRowCol: 9837 result = self._Entity.UserGeneralRows 9838 return LoadPropertyUserGeneralPanelRowCol(result) if result is not None else None 9839 9840 @property 9841 def IsIncludingThermal(self) -> bool: 9842 return self._Entity.IsIncludingThermal 9843 9844 @IsIncludingThermal.setter 9845 def IsIncludingThermal(self, value: bool) -> None: 9846 self._Entity.IsIncludingThermal = value 9847 9848 def SetIsZeroCurvature(self, isZeroCurvature: bool) -> None: 9849 ''' 9850 Is there an enum for this? 9851 ''' 9852 return self._Entity.SetIsZeroCurvature(isZeroCurvature)
Represents an entity with an ID and Name.
9848 def SetIsZeroCurvature(self, isZeroCurvature: bool) -> None: 9849 ''' 9850 Is there an enum for this? 9851 ''' 9852 return self._Entity.SetIsZeroCurvature(isZeroCurvature)
Is there an enum for this?
Inherited Members
9855class JointSelectionDesignResult(JointDesignResult): 9856 def __init__(self, jointSelectionDesignResult: _api.JointSelectionDesignResult): 9857 self._Entity = jointSelectionDesignResult 9858 9859 @property 9860 def JointSelectionId(self) -> types.JointSelectionId: 9861 return types.JointSelectionId[self._Entity.JointSelectionId.ToString()]
Represents an entity with an ID.
9864class JointFastenerDesignResult(JointSelectionDesignResult): 9865 def __init__(self, jointFastenerDesignResult: _api.JointFastenerDesignResult): 9866 self._Entity = jointFastenerDesignResult 9867 9868 @property 9869 def FastenerBoltId(self) -> int: 9870 return self._Entity.FastenerBoltId 9871 9872 @property 9873 def FastenerCodeId(self) -> int: 9874 return self._Entity.FastenerCodeId
Represents an entity with an ID.
Inherited Members
9877class JointMaterialDesignResult(JointSelectionDesignResult): 9878 def __init__(self, jointMaterialDesignResult: _api.JointMaterialDesignResult): 9879 self._Entity = jointMaterialDesignResult 9880 9881 @property 9882 def MaterialId(self) -> int: 9883 return self._Entity.MaterialId 9884 9885 @property 9886 def MaterialType(self) -> types.MaterialType: 9887 ''' 9888 Represents a material's type. 9889 ''' 9890 return types.MaterialType[self._Entity.MaterialType.ToString()]
Represents an entity with an ID.
9885 @property 9886 def MaterialType(self) -> types.MaterialType: 9887 ''' 9888 Represents a material's type. 9889 ''' 9890 return types.MaterialType[self._Entity.MaterialType.ToString()]
Represents a material's type.
Inherited Members
9893class JointRangeDesignResult(JointDesignResult): 9894 def __init__(self, jointRangeDesignResult: _api.JointRangeDesignResult): 9895 self._Entity = jointRangeDesignResult 9896 9897 @property 9898 def JointRangeId(self) -> types.JointRangeId: 9899 return types.JointRangeId[self._Entity.JointRangeId.ToString()] 9900 9901 @property 9902 def Value(self) -> float: 9903 return self._Entity.Value
Represents an entity with an ID.
9906class JointRivetDesignResult(JointSelectionDesignResult): 9907 def __init__(self, jointRivetDesignResult: _api.JointRivetDesignResult): 9908 self._Entity = jointRivetDesignResult 9909 9910 @property 9911 def RivetId(self) -> int: 9912 return self._Entity.RivetId 9913 9914 @property 9915 def RivetDiameterId(self) -> int: 9916 return self._Entity.RivetDiameterId
Represents an entity with an ID.
Inherited Members
9919class Environment(ABC): 9920 ''' 9921 Represents HyperX's execution environment (where HyperX is installed). 9922 ''' 9923 def __init__(self, environment: _api.Environment): 9924 self._Entity = environment 9925 9926 def SetLocation(location: str) -> None: 9927 ''' 9928 Set the directory location of the HyperX binaries. 9929 * This method is *not* required for Python and IronPython client application. 9930 * This method is required for C# and VB.NET clients as these applications 9931 need HyperX.Scripting.dll alongside its binaries. 9932 :param location: Path to the binaries. 9933 ''' 9934 return _api.Environment.SetLocation(location) 9935 9936 def Initialize() -> None: 9937 ''' 9938 Initialize the HyperX scripting environment. 9939 ''' 9940 return _api.Environment.Initialize()
Represents HyperX's execution environment (where HyperX is installed).
9926 def SetLocation(location: str) -> None: 9927 ''' 9928 Set the directory location of the HyperX binaries. 9929 * This method is *not* required for Python and IronPython client application. 9930 * This method is required for C# and VB.NET clients as these applications 9931 need HyperX.Scripting.dll alongside its binaries. 9932 :param location: Path to the binaries. 9933 ''' 9934 return _api.Environment.SetLocation(location)
Set the directory location of the HyperX binaries.
- This method is not required for Python and IronPython client application.
- This method is required for C# and VB.NET clients as these applications need HyperX.Scripting.dll alongside its binaries. :param location: Path to the binaries.
9943class FailureCriterionSetting(FailureSetting): 9944 ''' 9945 Setting for a Failure Criteria. 9946 ''' 9947 def __init__(self, failureCriterionSetting: _api.FailureCriterionSetting): 9948 self._Entity = failureCriterionSetting
Setting for a Failure Criteria.
9951class FailureModeSetting(FailureSetting): 9952 ''' 9953 Setting for a Failure Mode. 9954 ''' 9955 def __init__(self, failureModeSetting: _api.FailureModeSetting): 9956 self._Entity = failureModeSetting
Setting for a Failure Mode.
9959class HelperFunctions(ABC): 9960 def __init__(self, helperFunctions: _api.HelperFunctions): 9961 self._Entity = helperFunctions 9962 9963 def NullableSingle(input: float) -> float: 9964 return _api.HelperFunctions.NullableSingle(input)
9974class LaminatePlyData: 9975 ''' 9976 Per ply data for Laminate materials 9977 ''' 9978 def __init__(self, laminatePlyData: _api.LaminatePlyData): 9979 self._Entity = laminatePlyData 9980 9981 @property 9982 def MaterialId(self) -> int: 9983 return self._Entity.MaterialId 9984 9985 @property 9986 def PlyId(self) -> int: 9987 return self._Entity.PlyId 9988 9989 @property 9990 def PlyMaterialId(self) -> int: 9991 return self._Entity.PlyMaterialId 9992 9993 @property 9994 def PlyMaterialType(self) -> types.MaterialType: 9995 ''' 9996 Represents a material's type. 9997 ''' 9998 return types.MaterialType[self._Entity.PlyMaterialType.ToString()] 9999 10000 @property 10001 def Angle(self) -> float: 10002 return self._Entity.Angle 10003 10004 @property 10005 def Thickness(self) -> float: 10006 return self._Entity.Thickness 10007 10008 @property 10009 def IsFabric(self) -> bool: 10010 return self._Entity.IsFabric 10011 10012 @property 10013 def FamilyPlyId(self) -> int: 10014 return self._Entity.FamilyPlyId 10015 10016 @property 10017 def OriginalPlyId(self) -> int: 10018 return self._Entity.OriginalPlyId 10019 10020 @property 10021 def OriginalFamilyPlyId(self) -> int: 10022 return self._Entity.OriginalFamilyPlyId 10023 10024 @property 10025 def DisplaySequenceId(self) -> int: 10026 return self._Entity.DisplaySequenceId 10027 10028 @property 10029 def PlyStiffenerSubType(self) -> types.PlyStiffenerSubType: 10030 return types.PlyStiffenerSubType[self._Entity.PlyStiffenerSubType.ToString()] 10031 10032 @property 10033 def Object1(self) -> bool: 10034 return self._Entity.Object1 10035 10036 @property 10037 def Object2(self) -> bool: 10038 return self._Entity.Object2 10039 10040 @property 10041 def Object3(self) -> bool: 10042 return self._Entity.Object3 10043 10044 @property 10045 def IsInverted(self) -> bool: 10046 return self._Entity.IsInverted 10047 10048 @property 10049 def IsFullStructure(self) -> bool: 10050 return self._Entity.IsFullStructure 10051 10052 @property 10053 def UseTrueFiberDirection(self) -> bool: 10054 return self._Entity.UseTrueFiberDirection 10055 10056 @property 10057 def IsInFoot(self) -> bool: 10058 return self._Entity.IsInFoot 10059 10060 @property 10061 def IsInWeb(self) -> bool: 10062 return self._Entity.IsInWeb 10063 10064 @property 10065 def IsInCap(self) -> bool: 10066 return self._Entity.IsInCap 10067 10068 def SetMaterial(self, matId: int) -> bool: 10069 ''' 10070 Sets the material of a ply to the matId. This includes: PlyMaterialId and PlyMaterialType, and updates Thickness and IsFabric 10071 ''' 10072 return self._Entity.SetMaterial(matId) 10073 10074 def SetAngle(self, angle: float) -> bool: 10075 ''' 10076 Sets the angle of a ply 10077 ''' 10078 return self._Entity.SetAngle(angle)
Per ply data for Laminate materials
9993 @property 9994 def PlyMaterialType(self) -> types.MaterialType: 9995 ''' 9996 Represents a material's type. 9997 ''' 9998 return types.MaterialType[self._Entity.PlyMaterialType.ToString()]
Represents a material's type.
10068 def SetMaterial(self, matId: int) -> bool: 10069 ''' 10070 Sets the material of a ply to the matId. This includes: PlyMaterialId and PlyMaterialType, and updates Thickness and IsFabric 10071 ''' 10072 return self._Entity.SetMaterial(matId)
Sets the material of a ply to the matId. This includes: PlyMaterialId and PlyMaterialType, and updates Thickness and IsFabric
10081class Beam(Zone): 10082 def __init__(self, beam: _api.Beam): 10083 self._Entity = beam 10084 10085 @property 10086 def Length(self) -> float: 10087 return self._Entity.Length 10088 10089 @property 10090 def Phi(self) -> float: 10091 return self._Entity.Phi 10092 10093 @property 10094 def K1(self) -> float: 10095 return self._Entity.K1 10096 10097 @property 10098 def K2(self) -> float: 10099 return self._Entity.K2 10100 10101 @property 10102 def ReferencePlane(self) -> types.ReferencePlaneBeam: 10103 return types.ReferencePlaneBeam[self._Entity.ReferencePlane.ToString()] 10104 10105 @Phi.setter 10106 def Phi(self, value: float) -> None: 10107 self._Entity.Phi = value 10108 10109 @K1.setter 10110 def K1(self, value: float) -> None: 10111 self._Entity.K1 = value 10112 10113 @K2.setter 10114 def K2(self, value: float) -> None: 10115 self._Entity.K2 = value 10116 10117 @ReferencePlane.setter 10118 def ReferencePlane(self, value: types.ReferencePlaneBeam) -> None: 10119 self._Entity.ReferencePlane = _types.ReferencePlaneBeam(value.value)
Abstract for regular Zones (not Panel Segments).
Inherited Members
- ZoneBase
- Centroid
- Id
- Weight
- NonOptimumFactor
- AddedWeight
- SuperimposePanel
- BucklingImperfection
- IsBeamColumn
- SuperimposeBoundaryCondition
- IsZeroOutFeaMoments
- IsZeroOutFeaTransverseShears
- MechanicalLimit
- MechanicalUltimate
- ThermalHelp
- ThermalHurt
- FatigueKTSkin
- FatigueKTStiff
- XSpan
- EARequired
- EI1Required
- EI2Required
- GJRequired
- EAAuto
- EI1Auto
- EI2Auto
- GJAuto
- Ex
- Dmid
- GetObjectName
- GetConceptName
- GetZoneDesignResults
- RenumberZone
- GetAllResults
- GetControllingResult
- GetMinimumMargin
10122class ZoneBulkUpdaterBase(BulkUpdaterBase): 10123 def __init__(self, zoneBulkUpdaterBase: _api.ZoneBulkUpdaterBase): 10124 self._Entity = zoneBulkUpdaterBase
Inherited Members
10127class BeamBulkUpdater(ZoneBulkUpdaterBase): 10128 def __init__(self, beamBulkUpdater: _api.BeamBulkUpdater): 10129 self._Entity = beamBulkUpdater 10130 10131 def GetBulkUpdater(application: Application, items: list[Beam]) -> BeamBulkUpdater: 10132 itemsList = List[_api.Beam]() 10133 if items is not None: 10134 for thing in items: 10135 if thing is not None: 10136 itemsList.Add(thing._Entity) 10137 return BeamBulkUpdater(_api.BeamBulkUpdater.GetBulkUpdater(application._Entity, itemsList))
10131 def GetBulkUpdater(application: Application, items: list[Beam]) -> BeamBulkUpdater: 10132 itemsList = List[_api.Beam]() 10133 if items is not None: 10134 for thing in items: 10135 if thing is not None: 10136 itemsList.Add(thing._Entity) 10137 return BeamBulkUpdater(_api.BeamBulkUpdater.GetBulkUpdater(application._Entity, itemsList))
Inherited Members
10140class Panel(Zone): 10141 def __init__(self, panel: _api.Panel): 10142 self._Entity = panel 10143 10144 @property 10145 def Area(self) -> float: 10146 return self._Entity.Area 10147 10148 @property 10149 def ReferencePlane(self) -> types.ReferencePlanePanel: 10150 return types.ReferencePlanePanel[self._Entity.ReferencePlane.ToString()] 10151 10152 @property 10153 def AddedOffset(self) -> float: 10154 return self._Entity.AddedOffset 10155 10156 @property 10157 def YSpan(self) -> float: 10158 return self._Entity.YSpan 10159 10160 @property 10161 def IsCurved(self) -> bool: 10162 return self._Entity.IsCurved 10163 10164 @property 10165 def Radius(self) -> float: 10166 return self._Entity.Radius 10167 10168 @property 10169 def IsFullCylinder(self) -> bool: 10170 return self._Entity.IsFullCylinder 10171 10172 @property 10173 def BucklingMode(self) -> types.ZoneBucklingMode: 10174 return types.ZoneBucklingMode[self._Entity.BucklingMode.ToString()] 10175 10176 @property 10177 def PerformLocalPostbuckling(self) -> bool: 10178 return self._Entity.PerformLocalPostbuckling 10179 10180 @property 10181 def A11Required(self) -> float: 10182 return self._Entity.A11Required 10183 10184 @property 10185 def A22Required(self) -> float: 10186 return self._Entity.A22Required 10187 10188 @property 10189 def A33Required(self) -> float: 10190 return self._Entity.A33Required 10191 10192 @property 10193 def D11Required(self) -> float: 10194 return self._Entity.D11Required 10195 10196 @property 10197 def D22Required(self) -> float: 10198 return self._Entity.D22Required 10199 10200 @property 10201 def D33Required(self) -> float: 10202 return self._Entity.D33Required 10203 10204 @property 10205 def A11Auto(self) -> float: 10206 return self._Entity.A11Auto 10207 10208 @property 10209 def A22Auto(self) -> float: 10210 return self._Entity.A22Auto 10211 10212 @property 10213 def A33Auto(self) -> float: 10214 return self._Entity.A33Auto 10215 10216 @property 10217 def D11Auto(self) -> float: 10218 return self._Entity.D11Auto 10219 10220 @property 10221 def D22Auto(self) -> float: 10222 return self._Entity.D22Auto 10223 10224 @property 10225 def D33Auto(self) -> float: 10226 return self._Entity.D33Auto 10227 10228 @property 10229 def Ey(self) -> float: 10230 return self._Entity.Ey 10231 10232 @property 10233 def Kx(self) -> float: 10234 return self._Entity.Kx 10235 10236 @property 10237 def Ky(self) -> float: 10238 return self._Entity.Ky 10239 10240 @property 10241 def HoneycombCoreAngle(self) -> float: 10242 return self._Entity.HoneycombCoreAngle 10243 10244 @ReferencePlane.setter 10245 def ReferencePlane(self, value: types.ReferencePlanePanel) -> None: 10246 self._Entity.ReferencePlane = _types.ReferencePlanePanel(value.value) 10247 10248 @AddedOffset.setter 10249 def AddedOffset(self, value: float) -> None: 10250 self._Entity.AddedOffset = value 10251 10252 @YSpan.setter 10253 def YSpan(self, value: float) -> None: 10254 self._Entity.YSpan = value 10255 10256 @IsCurved.setter 10257 def IsCurved(self, value: bool) -> None: 10258 self._Entity.IsCurved = value 10259 10260 @Radius.setter 10261 def Radius(self, value: float) -> None: 10262 self._Entity.Radius = value 10263 10264 @IsFullCylinder.setter 10265 def IsFullCylinder(self, value: bool) -> None: 10266 self._Entity.IsFullCylinder = value 10267 10268 @BucklingMode.setter 10269 def BucklingMode(self, value: types.ZoneBucklingMode) -> None: 10270 self._Entity.BucklingMode = _types.ZoneBucklingMode(value.value) 10271 10272 @PerformLocalPostbuckling.setter 10273 def PerformLocalPostbuckling(self, value: bool) -> None: 10274 self._Entity.PerformLocalPostbuckling = value 10275 10276 @A11Required.setter 10277 def A11Required(self, value: float) -> None: 10278 self._Entity.A11Required = value 10279 10280 @A22Required.setter 10281 def A22Required(self, value: float) -> None: 10282 self._Entity.A22Required = value 10283 10284 @A33Required.setter 10285 def A33Required(self, value: float) -> None: 10286 self._Entity.A33Required = value 10287 10288 @D11Required.setter 10289 def D11Required(self, value: float) -> None: 10290 self._Entity.D11Required = value 10291 10292 @D22Required.setter 10293 def D22Required(self, value: float) -> None: 10294 self._Entity.D22Required = value 10295 10296 @D33Required.setter 10297 def D33Required(self, value: float) -> None: 10298 self._Entity.D33Required = value 10299 10300 @Ey.setter 10301 def Ey(self, value: float) -> None: 10302 self._Entity.Ey = value 10303 10304 @Kx.setter 10305 def Kx(self, value: float) -> None: 10306 self._Entity.Kx = value 10307 10308 @Ky.setter 10309 def Ky(self, value: float) -> None: 10310 self._Entity.Ky = value 10311 10312 @HoneycombCoreAngle.setter 10313 def HoneycombCoreAngle(self, value: float) -> None: 10314 self._Entity.HoneycombCoreAngle = value
Abstract for regular Zones (not Panel Segments).
Inherited Members
- ZoneBase
- Centroid
- Id
- Weight
- NonOptimumFactor
- AddedWeight
- SuperimposePanel
- BucklingImperfection
- IsBeamColumn
- SuperimposeBoundaryCondition
- IsZeroOutFeaMoments
- IsZeroOutFeaTransverseShears
- MechanicalLimit
- MechanicalUltimate
- ThermalHelp
- ThermalHurt
- FatigueKTSkin
- FatigueKTStiff
- XSpan
- EARequired
- EI1Required
- EI2Required
- GJRequired
- EAAuto
- EI1Auto
- EI2Auto
- GJAuto
- Ex
- Dmid
- GetObjectName
- GetConceptName
- GetZoneDesignResults
- RenumberZone
- GetAllResults
- GetControllingResult
- GetMinimumMargin
10317class PanelBulkUpdater(ZoneBulkUpdaterBase): 10318 def __init__(self, panelBulkUpdater: _api.PanelBulkUpdater): 10319 self._Entity = panelBulkUpdater 10320 10321 def GetBulkUpdater(application: Application, items: list[Panel]) -> PanelBulkUpdater: 10322 itemsList = List[_api.Panel]() 10323 if items is not None: 10324 for thing in items: 10325 if thing is not None: 10326 itemsList.Add(thing._Entity) 10327 return PanelBulkUpdater(_api.PanelBulkUpdater.GetBulkUpdater(application._Entity, itemsList))
10321 def GetBulkUpdater(application: Application, items: list[Panel]) -> PanelBulkUpdater: 10322 itemsList = List[_api.Panel]() 10323 if items is not None: 10324 for thing in items: 10325 if thing is not None: 10326 itemsList.Add(thing._Entity) 10327 return PanelBulkUpdater(_api.PanelBulkUpdater.GetBulkUpdater(application._Entity, itemsList))
Inherited Members
10330class PanelSegmentBulkUpdater(ZoneBulkUpdaterBase): 10331 def __init__(self, panelSegmentBulkUpdater: _api.PanelSegmentBulkUpdater): 10332 self._Entity = panelSegmentBulkUpdater 10333 10334 def GetBulkUpdater(application: Application, items: list[PanelSegment]) -> PanelSegmentBulkUpdater: 10335 itemsList = List[_api.PanelSegment]() 10336 if items is not None: 10337 for thing in items: 10338 if thing is not None: 10339 itemsList.Add(thing._Entity) 10340 return PanelSegmentBulkUpdater(_api.PanelSegmentBulkUpdater.GetBulkUpdater(application._Entity, itemsList))
10334 def GetBulkUpdater(application: Application, items: list[PanelSegment]) -> PanelSegmentBulkUpdater: 10335 itemsList = List[_api.PanelSegment]() 10336 if items is not None: 10337 for thing in items: 10338 if thing is not None: 10339 itemsList.Add(thing._Entity) 10340 return PanelSegmentBulkUpdater(_api.PanelSegmentBulkUpdater.GetBulkUpdater(application._Entity, itemsList))
Inherited Members
10343class ZoneBulkUpdater(ZoneBulkUpdaterBase): 10344 def __init__(self, zoneBulkUpdater: _api.ZoneBulkUpdater): 10345 self._Entity = zoneBulkUpdater 10346 10347 def GetBulkUpdater(application: Application, items: list[Zone]) -> ZoneBulkUpdater: 10348 itemsList = List[_api.Zone]() 10349 if items is not None: 10350 for thing in items: 10351 if thing is not None: 10352 itemsList.Add(thing._Entity) 10353 return ZoneBulkUpdater(_api.ZoneBulkUpdater.GetBulkUpdater(application._Entity, itemsList))
10347 def GetBulkUpdater(application: Application, items: list[Zone]) -> ZoneBulkUpdater: 10348 itemsList = List[_api.Zone]() 10349 if items is not None: 10350 for thing in items: 10351 if thing is not None: 10352 itemsList.Add(thing._Entity) 10353 return ZoneBulkUpdater(_api.ZoneBulkUpdater.GetBulkUpdater(application._Entity, itemsList))